std:: make_reverse_iterator
From cppreference.net
C++
Iterator library
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<iterator>
|
||
|
template
<
class
Iter
>
std:: reverse_iterator < Iter > make_reverse_iterator ( Iter i ) ; |
(начиная с C++14)
(constexpr начиная с C++17) |
|
make_reverse_iterator
— это шаблон функции для удобства, который создает
std::reverse_iterator
для заданного итератора
i
(который должен быть
LegacyBidirectionalIterator
), при этом тип выводится из типа аргумента.
Содержание |
Параметры
| i | - | итератор для преобразования в обратный итератор |
Возвращаемое значение
std:: reverse_iterator < Iter > ( i )
Примечания
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_make_reverse_iterator
|
201402L
|
(C++14) |
std::make_reverse_iterator
|
Пример
Запустить этот код
#include <algorithm> #include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v{1, 3, 10, 8, 22}; std::sort(v.begin(), v.end()); std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, ", ")); std::cout << '\n'; std::copy(std::make_reverse_iterator(v.end()), std::make_reverse_iterator(v.begin()), std::ostream_iterator<int>(std::cout, ", ")); std::cout << '\n'; }
Вывод:
1, 3, 8, 10, 22, 22, 10, 8, 3, 1,
Смотрите также
|
адаптер итератора для обхода в обратном порядке
(шаблон класса) |
|
|
(C++14)
|
возвращает обратный итератор на начало контейнера или массива
(шаблон функции) |
|
(C++14)
|
возвращает обратный конечный итератор для контейнера или массива
(шаблон функции) |