Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::reverse_iterator<Iter>::operator=

      From cppreference.com
      <cpp‎ |iterator‎ |reverse iterator
       
       
      Iterator library
      Iterator concepts
      Iterator primitives
      Algorithm concepts and utilities
      Indirect callable concepts
      Common algorithm requirements
      (C++20)
      (C++20)
      (C++20)
      Utilities
      (C++20)
      Iterator adaptors
      Range access
      (C++11)(C++14)
      (C++14)(C++14)  
      (C++11)(C++14)
      (C++14)(C++14)  
      (C++17)(C++20)
      (C++17)
      (C++17)
       
       
      template<class U>
      reverse_iterator& operator=(const reverse_iterator<U>& other);
      (constexpr since C++17)

      Assignsother.current tocurrent.

      This overload participates in overload resolution only ifstd::is_same_v<U, Iter> isfalse and bothstd::convertible_to<const U&, Iter> andstd::assignable_from<Iter&,const U&> are modeled.

      (since C++20)

      Contents

      [edit]Parameters

      other - iterator adaptor to assign

      [edit]Return value

      *this

      [edit]Example

      Run this code
      #include <iostream>#include <iterator> int main(){constint a1[]{0,1,2};int a2[]{0,1,2,3};short a3[]{40,41,42}; std::reverse_iterator<constint*> it1{std::crbegin(a1)};    it1=std::reverse_iterator<int*>{std::rbegin(a2)};// OK//  it1 = std::reverse_iterator<short*>{std::rbegin(a3)}; // Compilation error:// incompatible pointer typesstd::reverse_iterator<constshort*> it2{nullptr};    it2=std::rbegin(a3);// OK//  it2 = std::begin(a3);  // Compilation error: no viable operator= overloadstd::cout<<*it2<<'\n';}

      Output:

      42

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 280C++98heterogeneous assignment was not allowedallowed
      LWG 3435C++20the converting assignment operator was not constrainedconstrained

      [edit]See also

      constructs a newreverse_iterator
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/reverse_iterator/operator%3D&oldid=177386"

      [8]ページ先頭

      ©2009-2025 Movatter.jp