std::span<T,Extent>::rbegin, std::span<T,Extent>::crbegin
constexpr reverse_iterator rbegin() const noexcept; | (1) | (начиная с C++20) |
constexpr const_reverse_iterator crbegin() const noexcept; | (2) | (начиная с C++23) |
Возвращает обратный итератор на первый элемент перевёрнутого span. Он соответствует последнему элементу неперевёрнутого span. Если span пуст, возвращённый итератор равен rend().
Возвращаемое значение
Обратный итератор на первый элемент.
Сложность
Константная.
Примечания
Базовым итератором возвращённого обратного итератора является итератор end. Поэтому возвращённый итератор становится недействительным, если и когда становится недействительным итератор end.
Пример
#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) | возвращает обратный итератор на конец (открытая функция-член) |
|
(C++14) | возвращает обратный итератор на начало контейнера или массива (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/span/rbegin