reverse_iterator Class
模板类的说明将反向迭代器对象的行为类似于随机访问或双向迭代器,仅在反向迭代器适配器。 它使区域中的向后遍历。
template <class RandomIterator>
class reverse_iterator
参数
- RandomIterator
表示要适应采用反向迭代器的类型。
备注
标准模板库已存在的容器还定义reverse_iterator和const_reverse_iterator类型和成员函数rbegin和rend反向迭代器返回的。 这些迭代器具有覆盖语义。 reverse_iterator适配器补充了这一功能提供了插入语义,也可与流。
reverse_iterator需要一个双向迭代器的 s 必须不调用的任何成员函数operator+=, operator+, operator-=, operator-,或operator[],它只能用于使用随机访问迭代器。
如果迭代器的范围为 [_First,_Last),其中左方括号表示包含在 _第一个和右括号表示包含的元素以 _左 ,但不是包括 _左本身。 反转序列中包含相同的元素 [修订版 – _First, 修订版 – _左),以便如果 _左是一个过去--端元素的顺序,然后在第一个元素修订版 – _第一中已冲销的序列点到 * (_左 -1)。 其基础的迭代器与所有反向迭代器的标识是:
&*(reverse_iterator ( i ) ) == &*( i – 1 ).
在实践中,这意味着在反转序列 reverse_iterator 将引用的元素之外的一个位置 (向右的迭代器必须引用原始序列中的元素。 因此,如果一个迭代器寻址 (2、 4、 6、 8) 序列中的元素 6 然后reverse_iterator将 4 8、 6、 4 2) 的反转序列中元素的地址。
构造函数
默认的构造reverse_iterator或reverse_iterator从基础迭代器。 |
Typedef
一种类型提供了两个之间的差异, reverse_iterators 引用在同一容器中的元素。 |
|
一种类型提供基础的迭代器, reverse_iterator。 |
|
提供指向所解决的一个元素的类型reverse_iterator。 |
|
一种类型提供了通过解决元素的引用, reverse_iterator。 |
成员函数
恢复基础迭代器从其reverse_iterator。 |
运算符
返回的元素的reverse_iterator地址。 |
|
迭代器中添加一个偏移量,并返回新的reverse_iterator寻址插入新的偏距位置处的元素。 |
|
增量reverse_iterator的下一个元素。 |
|
添加指定的偏移量,从reverse_iterator。 |
|
从偏移量中减去reverse_iterator ,并返回reverse_iterator寻址的偏距位置处的元素。 |
|
递减reverse_iterator的前一个元素。 |
|
从指定的偏移量中减去reverse_iterator。 |
|
将指针返回到该元素所解决的reverse_iterator。 |
|
返回引用元素的偏移量,从该元素所解决的reverse_iterator按照指定的位置。 |
要求
标题: <iterator>
命名空间: 标准