c 基礎六 迭代器

2021-06-25 13:09:54 字數 813 閱讀 3637

迭代器

迭代器是一種檢查容器內元素並遍歷元素的資料型別。迭代器型別提供了比下標操作更通用化的方法:所有的標準庫容器都定義了相應的迭代器型別,而只有少數的容器支援下標操作。

容器的iterator型別

vector::iterator iter;   

begin返回的迭代器指向第乙個元素

end返回的迭代器指向vector的「末端元素的下乙個」

解引用操作符(*操作符)來訪問迭代器所指向的元素

++iter迭代器向前移動乙個位置

for (vector::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)

*iter = 0;

vector::const_iterator

const_iterator型別。我們可以得到乙個迭代器,它自身的值可以改變,但不能來改變其指向的元素的值。可以對迭代器進行自增以及使用解引用操作符來讀取值,但不能對該元素值賦值。

const vector::iterator

與此不同的是:const的iterator物件一旦被初始化,就不能改變它的值

如果兩個迭代器指向同乙個元素那麼就相等(==)

iter + n       n是size_type或difference_type型別

iter - n

iter1 - iter2   difference_type型別(signed型別)

vector::iterator mid = vi.begin() +vi.size()/2;

任何改變vector長度的操作都會使已存在的迭代器失效。

基礎 C 迭代器

迭代器是 c 2.0 中的新功能。迭代器是方法 get 訪問器或運算子,它使您能夠在類或結構中支援 foreach 迭代,而不必實現整個 ienumerable 介面。您只需提供乙個迭代器,即可遍歷類中的資料結構。當編譯器檢測到迭代器時,它將自動生成 ienumerable 或 ienumerabl...

C 基礎 迭代器

迭代器是什麼 在表現效果上看 標準迭代器的實現方法 region 標準迭代器的實現方法 關鍵介面口 ienumerator,ienumerable 命名空間 using system collections 可以通過同時繼承ienumerable和ienumerator實現其中的方法 class c...

C 迭代器基礎介紹

1.迭代器 c 迭代器是一種檢查容器內元素並遍歷元素的資料型別。標準庫為每一種標準容器 包括vector 定義了一種迭代器型別。迭代器型別提供了比下標操作更加通用的化的用法。2.容器的iterator型別 每種容器型別都定義了自己的c 迭代器型別,如vector vector iterator it...