std::reverse_iterator
来自cppreference.com
![]() |
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <iterator> 中定义
|
||
template< class Iterator > class reverse_iterator : public std::iterator< |
||
std::reverse_iterator
相反的方向一个给定的迭代器是一个迭代器适配器。换句话说,当设置有一个双向迭代,std::reverse_iterator
产生一个新的迭代器,它从端部移动到由底层双向迭代器定义的序列的开头.原文:
std::reverse_iterator
is an iterator adaptor that reverses the direction of a given iterator. In other words, when provided with a bidirectional iterator, std::reverse_iterator
produces a new iterator that moves from the end to the beginning of the sequence defined by the underlying bidirectional iterator.从一个迭代器
r
构造一个反向迭代器i
的关系&*r == &*(i-1)总是如此,因此构建一个反向迭代器从一个过去的结束迭代器解引用序列中的最后一个元素. 原文:
For a reverse iterator
r
constructed from an iterator i
, the relationship &*r == &*(i-1) is always true; thus a reverse iterator constructed from a one-past-the-end iterator dereferences to the last element in a sequence. 这是
rbegin()
和rend()
的标准库容器的成员函数返回的迭代器.原文:
This is the iterator returned by member functions
rbegin()
and rend()
of the standard library containers.目录 |
[编辑] 会员类型
会员类型
|
Definition |
iterator_type
|
Iterator
|
difference_type
|
std::iterator_traits<Iterator>::difference_type |
pointer
|
std::iterator_traits<Iterator>::pointer |
reference
|
std::iterator_traits<Iterator>::reference |
[编辑] 成员函数
构造了一个新的迭代器适配器 (公共成员函数) | |
分配给另一个迭代器 (公共成员函数) | |
访问底层迭代器 (公共成员函数) | |
访问指向的元素 (公共成员函数) | |
获得右值引用索引元素 原文: obtains rvalue reference to indexed element (公共成员函数) | |
贷款或递减的迭代器 原文: advances or decrements the iterator (公共成员函数) |
[编辑] 会员对象
会员名称
|
Definition |
current (保护)
|
基地()迭代器的副本
|
在除了底层迭代器的电流值的,一个典型的实施
std::reverse_iterator
持有递减底层迭代器的副本,它是用来在提领.原文:
In addition to the current value of the underlying iterator, a typical implementation of
std::reverse_iterator
holds a decremented copy of the underlying iterator, which is used in dereferencing.[编辑] 非成员函数
比较底层的迭代器 (函数模板) | |
进步的迭代器 (函数模板) | |
计算两个迭代器的适配器之间的距离 原文: computes the distance between two iterator adaptors (函数模板) |
继承自 std::iterator
Member types
会员类型
|
Definition |
value_type
|
std::iterator_traits<Iterator>::value_type |
difference_type
|
std::iterator_traits<Iterator>::difference_type |
pointer
|
std::iterator_traits<Iterator>::pointer |
reference
|
std::iterator_traits<Iterator>::reference |
iterator_category
|
std::iterator_traits<Iterator>::iterator_category |
[编辑] 示例
#include <iostream> #include <string> #include <iterator> int main() { std::string s = "Hello, world"; std::reverse_iterator<std::string::iterator> r = s.rbegin(); r[7] = 'O'; // replaces 'o' with 'O' r += 7; // iterator now points at 'O' std::string rev(r, s.rend()); std::cout << rev << '\n'; }
输出:
OlleH
[编辑] 另请参阅
基本的迭代器 (类模板) |