(C++17) | ||||
| Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
| Associative | ||||
| Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
| Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Views | ||||
(C++20) | ||||
(C++23) | ||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Deduction guides(C++17) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
reverse_iterator rend(); | (1) | (noexcept since C++11) (constexpr since C++26) |
const_reverse_iterator rend()const; | (2) | (noexcept since C++11) (constexpr since C++26) |
const_reverse_iterator crend()constnoexcept; | (3) | (since C++11) (constexpr since C++26) |
Returns a reverse iterator past the last element of the reversed*this. It corresponds to the element preceding the first element of the non-reversed*this.
This returned iterator only acts as a sentinel. It is not guaranteed to bedereferenceable.
Contents |
Reverse iterator to the element following the last element.
Constant.
libc++ backportscrend() to C++98 mode.
#include <algorithm>#include <iostream>#include <numeric>#include <string>#include <list> int main(){std::list<int> nums{1,2,4,8,16};std::list<std::string> fruits{"orange","apple","raspberry"};std::list<char> empty; // Print list.std::for_each(nums.rbegin(), nums.rend(),[](constint n){std::cout<< n<<' ';});std::cout<<'\n'; // Sums all integers in the list nums (if any), printing only the result.std::cout<<"Sum of nums: "<<std::accumulate(nums.rbegin(), nums.rend(),0)<<'\n'; // Prints the first fruit in the list fruits, checking if there is any.if(!fruits.empty())std::cout<<"First fruit: "<<*fruits.rbegin()<<'\n'; if(empty.rbegin()== empty.rend())std::cout<<"list 'empty' is indeed empty.\n";}
Output:
16 8 4 2 1Sum of nums: 31First fruit: raspberrylist 'empty' is indeed empty.
(C++11) | returns a reverse iterator to the beginning (public member function)[edit] |
(C++14) | returns a reverse end iterator for a container or array (function template)[edit] |