std::basic_string<CharT,Traits,Allocator>::rend,std::basic_string<CharT,Traits,Allocator>::crend (3) - Linux Manuals

std::basic_string<CharT,Traits,Allocator>::rend,std::basic_string<CharT,Traits,Allocator>::crend: std::basic_string<CharT,Traits,Allocator>::rend,std::basic_string<CharT,Traits,Allocator>::crend

NAME

std::basic_string<CharT,Traits,Allocator>::rend,std::basic_string<CharT,Traits,Allocator>::crend - std::basic_string<CharT,Traits,Allocator>::rend,std::basic_string<CharT,Traits,Allocator>::crend

Synopsis


reverse_iterator rend(); (until C++11)
reverse_iterator rend() noexcept; (since C++11)
const_reverse_iterator rend() const; (1) (until C++11)
const_reverse_iterator rend() const noexcept; (2) (since C++11)
const_reverse_iterator crend() const noexcept; (3) (since C++11)


Returns a reverse iterator to the character following the last character of the reversed string. It corresponds to the character preceding the first character of the non-reversed string. This character acts as a placeholder, attempting to access it results in undefined behavior.
 range-rbegin-rend.svg

Parameters


(none)

Return value


reverse iterator to the character following the last character

Complexity


Constant

Example


// Run this code


  #include <algorithm>
  #include <iostream>
  #include <iterator>
  #include <string>


  int main()
  {
    std::string s("A man, a plan, a canal: Panama");
    {
      std::string c;
      std::copy(s.rbegin(), s.rend(), std::back_inserter(c));
      std::cout << c <<'\n'; // "amanaP :lanac a ,nalp a ,nam A"
    }


    {
      std::string c;
      std::copy(s.crbegin(), s.crend(), std::back_inserter(c));
      std::cout << c <<'\n'; // "amanaP :lanac a ,nalp a ,nam A"
    }
  }

Output:


  amanaP :lanac a ,nalp a ,nam A
  amanaP :lanac a ,nalp a ,nam A

See also


rbegin
crbegin returns a reverse iterator to the beginning
        (public member function)


(C++11)