Namespaces
Variants

std::inplace_vector<T,N>:: rend, std::inplace_vector<T,N>:: crend

From cppreference.net

constexpr reverse_iterator rend ( ) noexcept ;
(1) (начиная с C++26)
constexpr const_reverse_iterator rend ( ) const noexcept ;
(2) (начиная с C++26)
constexpr const_reverse_iterator crend ( ) const noexcept ;
(3) (начиная с C++26)

Возвращает обратный итератор за последним элементом обращенного * this . Он соответствует элементу, предшествующему первому элементу необращенного * this .

Этот возвращённый итератор действует только как стражник. Не гарантируется, что он будет разыменовываемым .

range-rbegin-rend.svg

Содержание

Возвращаемое значение

Обратный итератор на элемент, следующий за последним элементом.

Сложность

Константа.

Пример

#include <algorithm>
#include <iostream>
#include <inplace_vector>
int main()
{
    std::inplace_vector<int, 11> a{1, 11, 11, 35, 0, 12, 79, 76, 76, 69, 40};
    // Вывод элементов контейнера в обратном порядке с использованием const_reverse_iterator
    std::for_each(a.crbegin(), a.crend(), [](int e){ std::cout << e << ' '; });
    std::cout << '\n';
    // Модификация каждого элемента контейнера с использованием неконстантных reverse_iterator
    std::for_each(a.rbegin(), a.rend(), [](int& e){ e += 32; });
    // Вывод элементов как символов в обратном порядке с использованием const_reverse_iterator
    std::for_each(a.crbegin(), a.crend(), [](char e){ std::cout << e; });
    std::cout << '\n';
}

Вывод:

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

Смотрите также

возвращает обратный итератор на начало
(public member function)
(C++14)
возвращает обратный конечный итератор для контейнера или массива
(function template)