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 起)
(C++17 起为 constexpr) |
|
make_reverse_iterator
是一个便捷的函数模板,用于为给定的迭代器
i
(必须是
LegacyBidirectionalIterator
)构造一个
std::reverse_iterator
,其类型通过参数类型推导得出。
目录 |
参数
| 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)
|
返回指向容器或数组末尾位置的反向迭代器
(函数模板) |