類模板
<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` 的引用型別

成員函式


非成員函式過載