C++ 庫 - <iterator>



簡介

它是一個類似指標的物件,可以使用 ++ 進行遞增,使用 * 進行解引用,並可以使用 != 與另一個迭代器進行比較。

類別

類別 屬性 有效表示式
所有類別 可複製構造可複製賦值可析構

X b(a);

b = a;

它可以遞增

++a

a++

隨機訪問 雙向 前向 輸入 它支援相等/不相等比較

a == b

a != b

它可以作為右值進行解引用

*a

a->m

輸出

它可以作為左值進行解引用

(僅適用於可變迭代器型別)

*a = t

*a++ = t

可預設構造

X a;

X()

多遍:解引用或遞增都不會影響可解引用性 { b = a; *a++; *b; }
它可以遞減

--a

a--

*a--

它支援算術運算子+ -

a + n

n + a

a - n

a - b

它支援迭代器之間的不等式比較(<, >, <=>=

a < b

a > b

a <= b

a >= b

它支援複合賦值運算+=-=

a += n

a -= n

它支援偏移解引用運算子([]) a[n]

函式

序號 函式及描述
1 advance

它將迭代器 it 前進 n 個元素位置。

2 distance

它返回迭代器之間的距離。

3 begin

它用於開始一個迭代器。

4 end

它用於結束一個迭代器。

5 prev

它用於獲取指向前一個元素的迭代器。

6 next

它用於獲取指向下一個元素的迭代器。

迭代器生成器

序號 迭代器生成器及描述
1 back_inserter

它構造反向插入迭代器。

2 inserter

它構造插入迭代器

3 make_move_iterator

它構造移動迭代器。

序號 類及描述
1 iterator

它是迭代器基類。

2 iterator_traits

它是迭代器特性。

預定義迭代器

序號 預定義迭代器及描述
1 reverse_iterator

它是反向迭代器。

2 move_iterator

它是移動迭代器。

3 back_insert_iterator

它是反向插入迭代器。

4 front_insert_iterator

它是前向插入迭代器。

5 insert_iterator

它用於插入迭代器。

6 istream_iterator

它是輸入流迭代器。

7 ostream_iterator

它是輸出流迭代器。

8 istreambuf_iterator

它是輸入流緩衝區迭代器。

7 ostreambuf_iterator

它是輸出流緩衝區迭代器。

類別標籤

序號 類別標籤及描述
1 input_iterator_tag

輸入迭代器類別。

2 output_iterator_tag

輸出迭代器類別。

3 forward_iterator_tag

前向迭代器類別。

4 bidirectional_iterator_tag

雙向迭代器類別。

5 random_access_iterator_tag

隨機訪問迭代器類別。

廣告