类模板
<iterator>

std::reverse_iterator

template <class Iterator> class reverse_iterator;
反向迭代器

此类将双向迭代器或随机访问迭代器遍历序列的方向颠倒。

该类会保留一个原始迭代器的副本(称为“基迭代器”),并通过它来反映对 `reverse_iterator` 的操作:每当 `reverse_iterator` 被递增时,其基迭代器就会被递减,反之亦然。可以通过调用成员函数 `base` 随时获取一个保存当前状态的基迭代器副本。

请注意,当一个迭代器被反转时,反转后的版本并不指向序列中的相同元素,而是指向**它前面的元素**。这是为了处理序列的“越尾”元素:指向序列“越尾”元素的迭代器,在反转后会指向序列的最后一个元素(而不是越过最后一个元素)(这将是反转序列的第一个元素)。如果一个指向序列第一个元素的迭代器被反转,反转后的迭代器将指向第一个元素之前的元素(这将是反转序列的“越尾”元素)。

模板参数

迭代器
双向迭代器类型。
如果使用了需要此类迭代器类别的操作符,则为随机访问迭代器类型。

成员类型

成员定义在 `reverse_iterator` 中描述
iterator_type迭代器`Iterator` 的类型
iterator_categoryiterator_traits<Iterator>::iterator_category保留 `Iterator` 的类别
value_typeiterator_traits<Iterator>::value_type保留 `Iterator` 的值类型
difference_typeiterator_traits<Iterator>::difference_type保留 `Iterator` 的差值类型
指针iterator_traits<Iterator>::pointer保留 `Iterator` 的指针类型
引用iterator_traits<Iterator>::reference保留 `Iterator` 的引用类型

成员函数


非成员函数重载