std::list<T,Allocator>::rbegin, std::list<T,Allocator>::crbegin - cppreference.com (original) (raw)

reverse_iterator rbegin(); (1) (noexcept since C++11) (constexpr since C++26)
const_reverse_iterator rbegin() const; (2) (noexcept since C++11) (constexpr since C++26)
const_reverse_iterator crbegin() const noexcept; (3) (since C++11) (constexpr since C++26)

Returns a reverse iterator to the first element of the reversed *this. It corresponds to the last element of the non-reversed *this.

If *this is empty, the returned iterator is equal to rend().

range-rbegin-rend.svg

[edit] Return value

Reverse iterator to the first element.

[edit] Complexity

Constant.

[edit] Notes

The underlying iterator of the returned reverse iterator is the end iterator. Hence the returned iterator is invalidated if and when the end iterator is invalidated.

libc++ backports crbegin() to C++98 mode.

[edit] Example

#include #include #include #include #include   int main() { std::list nums{1, 2, 4, 8, 16}; std::list<std::string> fruits{"orange", "apple", "raspberry"}; std::list empty;   // Print list. std::for_each(nums.rbegin(), nums.rend(), [](const int 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 1 Sum of nums: 31 First fruit: raspberry list 'empty' is indeed empty.

[edit] See also

| | returns a reverse iterator to the end (public member function) [edit] | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | returns a reverse iterator to the beginning of a container or array (function template) [edit] |