std::array<T,N>::rbegin, std::array<T,N>::crbegin
reverse_iterator rbegin() noexcept; | (1) |
(начиная с C++11) (constexpr начиная с C++17) |
const_reverse_iterator rbegin() const noexcept; | (2) |
(начиная с C++11) (constexpr начиная с C++17) |
const_reverse_iterator crbegin() const noexcept; | (3) |
(начиная с C++11) (constexpr начиная с C++17) |
Возвращает обратный итератор на первый элемент перевёрнутого array. Он соответствует последнему элементу неперевёрнутого array. Если array пуст, возвращённый итератор равен rend().
Возвращаемое значение
Обратный итератор на первый элемент.
Сложность
Константная.
Примечания
Базовый итератор возвращённого обратного итератора — это итератор конца. Следовательно, возвращённый итератор становится недействительным, если и когда становится недействительным итератор конца.
Пример
#include <algorithm>
#include <iostream>
#include <string>
#include <string_view>
#include <array>
void print(const std::string_view s) { std::cout << s << ' '; }
int main()
{
const std::array<std::string_view, 8> data
{
"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
};
std::array<std::string, 8> arr;
std::copy(data.cbegin(), data.cend(), arr.begin());
print("Print 'arr' in direct order using [cbegin, cend):\t");
std::for_each(arr.cbegin(), arr.cend(), print);
print("\n\nPrint 'arr' in reverse order using [crbegin, crend):\t");
std::for_each(arr.crbegin(), arr.crend(), print);
}
Вывод:
Print 'arr' in direct order using [cbegin, cend): ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ Print 'arr' in reverse order using [crbegin, crend): █ ▇ ▆ ▅ ▄ ▃ ▂ ▁
См. также
| возвращает обратный итератор на конец (открытая функция-член) |
|
|
(C++14) | возвращает обратный итератор на начало контейнера или массива (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/array/rbegin