共用方式為


<iterator>

定義 Iterator 基本、預先定義的 Iterator 和資料流 Iterator,以及幾個支援的樣板。 預先定義的 Iterator 包含插入和反向配置器。 取得插入 Iterator 配置器三個類別:前面、背景和一般。 它們提供插入語意 (Semantics) 而不是覆寫語意容器成員函式的 Iterator。

#include <iterator>

備註

Iterator 是指標的概念,擷取從其需求以允許 C++. C/C++ 程式具有不同資料結構使用以一致的方式的方法。 Iterator 為容器和泛型演算法之間的媒介。 而不是在特定資料型別,演算法定義於列舉型別指定的範圍。 滿足 Iterator 的需求的任何資料結構可能會由演算法然後於。 取得 Iterator,每個都有自己的一組需求和產生的功能五個型別或分類:

  • 輸出:移至之前執行,可以儲存,但是不會擷取值,,後者是由 ostream 和 TAB 鍵。

  • 輸入:移至之前執行,可以擷取,但是不會儲存值,,後者是由 istream。

  • 轉送:移至之前執行,可以儲存和擷取值。

  • 雙向:向前和向後捲動,可以儲存和擷取值,,假設依據清單、集合、多重集、對應和 multimap。

  • 隨機存取:任何順序存取的項目,可以儲存和擷取值,,假設以向量、deque、字串和陣列。

Iterator 存取更大的需求和則更強大的項目可能在 Iterator 位置使用較少的需求。 例如,在中,如果轉送 Iterator,然後呼叫以隨機存取 Iterator 中才能使用。

k3tf6509.collapse_all(zh-tw,VS.110).gif功能

前進距離

依位置的指定數目遞增 Iterator。

back_inserter

建立可將項目插入至位於指定之容器的上一頁的 Iterator。

begin

擷取 Iterator 遞增至指定的容器的第一個項目。

距離。

判斷加入數目兩個 Iterator 定址位置之間的。

end

擷取 Iterator 至之後的指定容器的最後一個項目的項目。

front_inserter

建立可將項目插入至位於指定之容器的最上層的 Iterator。

外掛程式

將新的項目新增至容器中指定的問題之外掛程式的 Iterator 配置器。

make_move_iterator

傳回包含所提供之 Iterator 的移動 Iterator,其儲存的基底 Iterator。

接著

重複指定次數並傳回新的 Iterator 的位置。

prev

在背面重複指定次數並傳回新的 Iterator 的位置。

k3tf6509.collapse_all(zh-tw,VS.110).gif運算子

運算子! =

測試,如果左側的 Iterator 物件等於右邊的 Iterator 物件不相等。

運算子==

測試,如果左側的 Iterator 物件等於右邊的 Iterator 物件。

operator<

測試,如果左側的 Iterator 物件大於右邊的 Iterator 物件。

operator<=

測試,如果左側的 Iterator 物件小於或等於右邊的 Iterator 物件。

operator>

測試,如果左側的 Iterator 物件大於右邊的 Iterator 大於物件。

operator>=

測試,如果左側的 Iterator 物件大於或等於右邊的 Iterator 物件。

operator+

將 Iterator 的位移並傳回新的 reverse_iterator 處理項目插入於新的位移位置。

作業。

從減去另一個 Iterator 並傳回其差異。

k3tf6509.collapse_all(zh-tw,VS.110).gif類別

back_insert_iterator

樣板類別描述一個輸出 Iterator 物件。 它會將項目插入容器型別 容器,它透過受保護的 pointer 物件存取它儲存在名為的容器。

bidirectional_iterator_tag

iterator_category 函式的傳回型別表示雙向 Iterator 的類別。

checked_array_iterator

存取陣列使用隨機存取,的類別中,已檢查的 Iterator。

forward_iterator_tag

iterator_category 函式的傳回型別表示順向 Iterator 的類別。

front_insert_iterator

樣板類別描述一個輸出 Iterator 物件。 它會將項目插入容器型別 容器,它透過受保護的 pointer 物件存取它儲存在名為的容器。

input_iterator_tag

iterator_category 函式的傳回型別表示輸入 Iterator 的類別。

insert_iterator

樣板類別描述一個輸出 Iterator 物件。 它會將項目插入容器型別 容器,它透過受保護的 pointer 物件存取它儲存在名為的容器。 它也會儲存受保護的 iterator 物件中, Container::iterator,呼叫 iter

istream_iterator

樣板類別描述輸入 Iterator 物件。 它會擷取類別 Ty 物件從輸入資料流,它會將物件存取它所儲存,型別指標 basic_istream<ElemTr>。

istreambuf_iterator

樣板類別描述輸入 Iterator 物件。 它會插入類別 Elem 的項目至輸出資料流緩衝區,並傳遞物件存取它所儲存,型別 pointerbasic_streambuf<ElemTr>。

Iterator

樣板類別當做基底型別適用於所有的 Iterator。

iterator_traits

提供與不同 Iterator 的關鍵型別的範本 Helper 類別的型別,因此可以相同方式參考。

move_iterator

move_iterator 物件儲存型別 RandomIterator隨機存取 Iterator。 它的行為就像隨機存取 Iterator,但是有一點例外,就是,當取值別名。 operator* 結果隱含地轉型為。 value_type&&: 進行 rvalue reference

ostream_iterator

樣板類別描述一個輸出 Iterator 物件。 它會插入類別 [型別] 物件至輸出資料流,它會將物件存取它所儲存,型別 pointerbasic_ostream<ElemTr>。

ostreambuf_iterator 類別

樣板類別描述一個輸出 Iterator 物件。 它會插入類別 Elem 的項目至輸出資料流緩衝區,並傳遞物件存取它所儲存,型別指標 basic_streambuf<ElemTr>。

output_iterator_tag

iterator_category 函式的傳回型別表示輸出 Iterator 的類別。

random_access_iterator_tag

iterator_category 函式的傳回型別所表示的隨機存取 Iterator 的類別。

reverse_iterator

樣板類別在背面只是描述的行為就像隨機存取 Iterator 的物件,否則為。

請參閱

參考

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

標準樣板程式庫

其他資源

標頭檔