std::rbegin, std::crbegin — cppreference.com
Материал из cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
(начиная с C++20) |
|
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
(начиная с C++17) |
|
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| Определено в заголовочном файле |
||
| (1) | ||
|
|
(начиная с C++14) (до C++17) |
|
|
|
(начиная с C++17) | |
| (1) | ||
|
|
(начиная с C++14) (до C++17) |
|
|
|
(начиная с C++17) | |
| (2) | ||
|
|
(начиная с C++14) (до C++17) |
|
|
|
(начиная с C++17) | |
| (3) | ||
|
|
(начиная с C++14) (до C++17) |
|
|
|
(начиная с C++17) | |
| (4) | ||
|
|
(начиная с C++14) (до C++17) |
|
|
|
(начиная с C++17) | |
Возвращает итератор обратный к началу заданного диапазона.
1) Возвращает итератор обратный к началу, возможно, const-квалифицированного контейнера или представления c.
2) Возвращает std::reverse_iterator<T*> обратный к началу массива array.
3) Возвращает std::reverse_iterator<const T*> обратный к началу std::initializer_list il.
4) Возвращает итератор обратный к началу conts-квалифицированного контейнера или представления c.
Параметры
| c | — | контейнер или представление с функцией-элементом rbegin
|
| array | — | массив произвольного типа |
| il | — | initializer_list
|
Возвращаемое значение
1) c.rbegin()
2) std::reverse_iterator<T*>(array + N)
3) std::reverse_iterator<const T*>(il.end())
4) c.rbegin()
Исключения
Может генерировать исключения, определённые реализацией.
Перегрузки
Пользовательские перегрузки rbegin могут быть предоставлены для классов и перечислений, которые не предоставляют подходящую функцию-элемент rbegin(), но могут быть проитерированы.
|
Перегрузки |
(начиная с C++20) |
Примечание
Перегрузка для std::initializer_list необходима, так как у него нет функции-элемента rbegin.
Пример
#include <iostream> #include <vector> #include <iterator> int main() { std::vector<int> v = { 3, 1, 4 }; auto vi = std::rbegin(v); // тип `vi` есть std::vector<int>::reverse_iterator std::cout << "*vi = " << *vi << '\n'; *std::rbegin(v) = 42; // OK: после присваивания v[2] == 42 // *std::crbegin(v) = 13; // ошибка: местоположение доступно только для чтения int a[] = { -5, 10, 15 }; auto ai = std::rbegin(a); // тип `ai` есть std::reverse_iterator<int*> std::cout << "*ai = " << *ai << '\n'; auto il = { 3, 1, 4 }; // тип `it` ниже есть std::reverse_iterator<int const*>: for (auto it = std::rbegin(il); it != std::rend(il); ++it) std::cout << *it << ' '; }
Вывод:
Смотрите также
| возвращает итератор на начало контейнера или массива (шаблон функции) [править] | |
| возвращает итератор на конец контейнера или массива (шаблон функции) [править] | |
| возвращает обратный конечный итератор для контейнера или массива (шаблон функции) [править] | |
| возвращает обратный итератор на диапазон (объект точки настройки) [править] | |
| возвращает обратный итератор на диапазон только для чтения (объект точки настройки) [править] |