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

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

Материал из cppreference.com
 
 
 
 
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
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().

Image

Параметры

(нет)

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

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

Сложность

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


Пример

#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 функция-элемент) [править]