共用方式為


reverse_iterator 類別

此樣板類別是迭代器配接器,描述行為類似隨機存取或雙向迭代器,只不過是反向方向的反向迭代器物件。 它啟用範圍的向後周遊。

template <class RandomIterator>
class reverse_iterator

參數

  • RandomIterator
    類型,表示要調整為反向操作的迭代器。

備註

現有的標準範本庫容器也會定義 reverse_iteratorconst_reverse_iterator 類型,並且具有可傳回反向迭代器的成員函式 rbeginrend。 這些迭代器有覆寫語意。 reverse_iterator 配接器提供插入語意補充這項功能,也可以用於資料流。

需要雙向迭代器的 reverse_iterator 不可呼叫任何成員函式 operator+=operator+operator-=operator-operator[],這些只能用於隨機存取迭代器。

如果迭代器的範圍是 [_First, _Last),其中左方括號表示 _First 時包含,而右括號表示包含項目直到 _Left,但不含 _Left 本身。 相同項目包含在反向序列中 [rev – _First, rev – _Left),因此,如果 _Left 是在序列中的超出結尾後一個 (one-past-the-end) 項目,則反向序列中的第一個項目 rev – _First 會指向 *(_Left – 1 )。 將所有反向迭代器與其基礎迭代器關聯的識別為:

&*(reverse_iterator ( i ) ) == &*( i – 1 ).

實際上,這表示在反向序列中 reverse_iterator 會參考迭代器在原始序列中所參考項目之外 (右側) 一個位置的項目。 因此,如果迭代器定址序列 (2, 4, 6, 8) 中的項目 6,則 reverse_iterator 會定址反向序列 (8, 6, 4, 2) 中的項目 4。

建構函式

reverse_iterator

從基底迭代器建構預設的 reverse_iteratorreverse_iterator

Typedef

difference_type

類型,提供兩個參考同一容器內項目的 reverse_iterator 之間的差異。

iterator_type

類型,提供 reverse_iterator 的基礎迭代器。

指標

類型,提供指向 reverse_iterator 定址的項目之指標。

reference

類型,提供指向 reverse_iterator 定址的項目之參考。

成員函式

base

從其 reverse_iterator 復原基礎迭代器。

運算子

operator*

傳回 reverse_iterator 定址的項目。

operator+

將位移新增至迭代器,並傳回新的 reverse_iterator,定址在新的位移位置中插入的項目。

operator++

遞增 reverse_iterator 至下一個項目。

operator+=

加入 reverse_iterator 的指定位移。

operator-

reverse_iterator 減去位移並傳回 reverse_iterator,定址在位移位置上的項目。

operator--

遞減 reverse_iterator 至上一個項目。

operator-=

reverse_iterator 減去指定位移。

operator->

傳回由 reverse_iterator 定址的項目之指標。

operator[]

以指定的位置數目,從 reverse_iterator 定址的項目傳回項目位移的參考。

需求

標頭:<iterator>

命名空間: std

請參閱

參考

<iterator>

C++ 標準程式庫中的執行緒安全

標準樣板程式庫