reverse_iterator Class

模板类的说明将反向迭代器对象的行为类似于随机访问或双向迭代器,仅在反向迭代器适配器。 它使区域中的向后遍历。

template <class RandomIterator>
class reverse_iterator

参数

  • RandomIterator
    表示要适应采用反向迭代器的类型。

备注

标准模板库已存在的容器还定义reverse_iteratorconst_reverse_iterator类型和成员函数rbeginrend反向迭代器返回的。 这些迭代器具有覆盖语义。 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) 的反转序列中元素的地址。

6x256702.collapse_all(zh-cn,VS.110).gif构造函数

reverse_iterator

默认的构造reverse_iteratorreverse_iterator从基础迭代器。

6x256702.collapse_all(zh-cn,VS.110).gifTypedef

difference_type

一种类型提供了两个之间的差异, reverse_iterators 引用在同一容器中的元素。

iterator_type

一种类型提供基础的迭代器, reverse_iterator

pointer

提供指向所解决的一个元素的类型reverse_iterator

引用

一种类型提供了通过解决元素的引用, reverse_iterator

6x256702.collapse_all(zh-cn,VS.110).gif成员函数

base

恢复基础迭代器从其reverse_iterator

6x256702.collapse_all(zh-cn,VS.110).gif运算符

operator*

返回的元素的reverse_iterator地址。

+ 运算符

迭代器中添加一个偏移量,并返回新的reverse_iterator寻址插入新的偏距位置处的元素。

operator++

增量reverse_iterator的下一个元素。

运算符 + =

添加指定的偏移量,从reverse_iterator

运算符-

从偏移量中减去reverse_iterator ,并返回reverse_iterator寻址的偏距位置处的元素。

操作符 —

递减reverse_iterator的前一个元素。

运算符 =

从指定的偏移量中减去reverse_iterator

operator->

将指针返回到该元素所解决的reverse_iterator

operator[]

返回引用元素的偏移量,从该元素所解决的reverse_iterator按照指定的位置。

要求

标题: <iterator>

命名空间: 标准

请参见

参考

线程安全性对标准C++库中

标准模板库

其他资源

reverse_iterator 成员

iterator 成员