std::array::rbegin, std::array::crbegin
Материал из cppreference.com
reverse_iterator rbegin() noexcept; |
(до C++17) | |
constexpr reverse_iterator rbegin() noexcept; |
(начиная с C++17) | |
const_reverse_iterator rbegin() const noexcept; |
(до C++17) | |
constexpr const_reverse_iterator rbegin() const noexcept; |
(начиная с C++17) | |
const_reverse_iterator crbegin() const noexcept; |
(до C++17) | |
constexpr const_reverse_iterator crbegin() const noexcept; |
(начиная с C++17) | |
Возвращает обратный итератор на первый элемент перевёрнутого array. Он соответствует последнему элементу не перевёрнутого array. Если array - пуст, возвращаемый итератор равен rend().
Параметры
(нет)
Возвращаемое значение
Обратный итератор на первый элемент.
Сложность
Константная.
Пример
Запустить этот код
#include <algorithm>
#include <iostream>
#include <string>
#include <string_view>
#include <array>
int main()
{
constexpr std::array<std::string_view, 8> data = {"▁","▂","▃","▄","▅","▆","▇","█"};
std::array<std::string, std::size(data)> arr;
std::copy(data.cbegin(), data.cend(), arr.begin());
// ^ ^ ^
auto print = [](const std::string_view s) { std::cout << s << ' '; };
print("Печатаем 'arr' в прямом порядке, используя [cbegin, cend):\t");
std::for_each(arr.cbegin(), arr.cend(), print);
// ^ ^
print("\n\nПечатаем 'arr' в обратном порядке, используя [crbegin, crend):\t");
std::for_each(arr.crbegin(), arr.crend(), print);
// ^^ ^^
print("\n");
}
Вывод:
Печатаем 'arr' в прямом порядке, используя [cbegin, cend): ▁ ▂ ▃ ▄ ▅ ▆ ▇ █
Печатаем 'arr' в обратном порядке, используя [crbegin, crend): █ ▇ ▆ ▅ ▄ ▃ ▂ ▁
See also
(C++11) |
возвращает обратный итератор на конец (public функция-элемент) |