public member function
<string>
std::string::rbegin
reverse_iterator rbegin();const_reverse_iterator rbegin() const;
reverse_iterator rbegin() noexcept;const_reverse_iterator rbegin() const noexcept;
Return reverse iterator to reverse beginning
Returns a reverse iterator pointing to the last character of the string (i.e., its reverse beginning).
Reverse iterators iterate backwards: increasing them moves them towards the beginning of the string.
rbegin points to the character right before the one that would be pointed to by member end.
Return Value
A reverse iterator to the reverse beginning of the string.
If the string object is const-qualified, the function returns a const_iterator. Otherwise, it returns an iterator.
Member types reverse_iterator and const_reverse_iterator are reverse random access iterator types (pointing to a character and to a const character, respectively).
Example
1 2 3 4 5 6 7 8 9 10 11
|
// string::rbegin/rend
#include <iostream>
#include <string>
int main ()
{
std::string str ("now step live...");
for (std::string::reverse_iterator rit=str.rbegin(); rit!=str.rend(); ++rit)
std::cout << *rit;
return 0;
}
|
This code prints out the reversed content of a string character by character using a reverse iterator that iterates between rbegin and rend. Notice how even though the reverse iterator is increased, the iteration goes backwards through the string (this is a feature of reverse iterators).
The actual output is:
Iterator validity
Generally, no changes.
On some implementations, the non-const version may invalidate all iterators, pointers and references on the first access to string characters after the object has been constructed or modified.
Data races
The object is accessed, and in some implementations, the non-const version modifies it on the first access to string characters after the object has been constructed or modified.
The iterator returned can be used to access or modify characters.
Complexity
Unspecified, but generally constant.
Iterator validity
No changes.
Data races
The object is accessed (neither the const nor the non-const versions modify it).
The iterator returned can be used to access or modify characters. Concurrently accessing or modifying different characters is safe.
Exception safety
No-throw guarantee: this member function never throws exceptions.
The copy construction or assignment of the returned iterator is also guaranteed to never throw.
See also
- string::rend
- Return reverse iterator to reverse end (public member function)
- string::begin
- Return iterator to beginning (public member function)
- string::end
- Return iterator to end (public member function)