Namespaces
Variants

std::span<T,Extent>:: rbegin, std::span<T,Extent>:: crbegin

From cppreference.net

constexpr reverse_iterator rbegin ( ) const noexcept ;
(1) (начиная с C++20)
constexpr const_reverse_iterator crbegin ( ) const noexcept ;
(2) (начиная с C++23)

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

Если * this пуст, возвращаемый итератор равен rend() .

range-rbegin-rend.svg

Содержание

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

Обратный итератор на первый элемент.

Сложность

Константа.

Примечания

Базовый итератор возвращаемого обратного итератора является конечным итератором . Следовательно, возвращаемый итератор становится недействительным, если и когда конечный итератор становится недействительным.

Пример

#include <algorithm>
#include <iostream>
#include <iterator>
#include <span>
int main()
{
    constexpr std::span<const char> code{"@droNE_T0P_w$s@s#_SECRET_a,p^42!"};
    auto hack = [](const unsigned O) { return O - 0141 < 120; };
    std::copy_if(code.rbegin(), code.rend(),
        std::ostream_iterator<const char>(std::cout), hack);
    std::cout << '\n';
}

Вывод:

password

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

(C++23)
возвращает обратный итератор на конец
(публичная функция-член)
возвращает обратный итератор на начало контейнера или массива
(шаблон функции)