Пространства имён
Варианты
Действия

std::array::rbegin, std::array::crbegin

Материал из cppreference.com
< cpp‎ | container‎ | array
 
 
 
 
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().

range-rbegin-rend.svg

Содержание

[править] Параметры

(нет)

[править] Возвращаемое значение

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

[править] Сложность

Константная.


[править] Пример

#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

возвращает обратный итератор на конец
(public функция-элемент) [править]