std::array<T,N>::rend, std::array<T,N>::crend - cppreference.com (original) (raw)

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

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 be dereferenceable.

range-rbegin-rend.svg

[edit] Return value

Reverse iterator to the element following the last element.

[edit] Complexity

Constant.

[edit] Example

#include #include #include   int main() { std::array<int, 11> a{1, 11, 11, 35, 0, 12, 79, 76, 76, 69, 40};   // Print elements of container in reverse order using const_reverse_iterator's. std::for_each(a.crbegin(), a.crend(), [](int e){ std::cout << e << ' '; }); std::cout << '\n';   // Modify each element of container using non-const reverse_iterator's. std::for_each(a.rbegin(), a.rend(), [](int& e){ e += 32; });   // Print elements as chars in reverse order using const_reverse_iterator's. std::for_each(a.crbegin(), a.crend(), [](char e){ std::cout << e; }); std::cout << '\n'; }

Output:

40 69 76 76 79 12 0 35 11 11 1 Hello, C++!

[edit] See also

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