引言
上節課我們的例子雖然工作得很好並也使用了乙個標準的容器(向量容器),但它還是有個小問題,就是在遍歷向量裡的各個元素時,我們仍把它視為乙個c++陣列來對待.剛好我們的向量容器允許使用下標操作符來訪問它的各個元素:name[x].
因為對容器裡的各個元素進行遍歷是一種十分常見的任務,所以應該有一種標準的方式來做這事,c++標準庫提供的各種迭代器(iteraor)就是這麼來的.
迭代器
迭代器是一種功能非常有限卻非常實用的函式,提供一些基本操作符:*, ++, ==, !=, =.通過使用迭代器,當在程式裡改用另一種容器的時候就用不著修改那麼多的**了.每一種容器都必須提供自己的迭代器,事實上每種容器都將其迭代器以巢狀的方式定義於內部.
#include #include #include int main()
return 0;
}
name.begin()是讓指標指向向量的開始位置,name.end()是判斷指標是否到達向量的尾部.
注意:(1)迭代器的真正價值在它們可以和所有的容器配合使用,而使用迭代器去訪問容器元素的演算法可以和任何一種容器配合使用.
(2)c++中迭代器有兩種,const_iterator和iterator,const_iterator只能用於讀取不能修改容器內元素.
演算法案例
#include #include #include #include int main()
return 0;
}
後期學習安排:
1、將c++入門這門課的學習筆記做成乙個文件,以便平時歸納總結
2、將所有的示例**重新自己實現一遍
3、接下來《資料結構與演算法》
學習筆記:
課程示例和課後習題**:
小甲魚 C 快速入門筆記 49 之迭代器
引言 上節課我們的例子雖然工作得很好並也使用了乙個標準的容器 向量容器 但它還是有個小問題,就是在遍歷向量裡的各個元素時,我們仍把它視為乙個c 陣列來對待.剛好我們的向量容器允許使用下標操作符來訪問它的各個元素 name x 因為對容器裡的各個元素進行遍歷是一種十分常見的任務,所以應該有一種標準的方...
小甲魚 C 快速入門筆記 19 之訪問控制
在此前的例子中,我們無論是animal,pig和turtle類的所有成員都是用public 語句宣告。注意 1 一定要記住使用這些訪問級別,即使只有你乙個人再開發某個專案,全部記住各個類的呼叫方法也是一件困難的事情 2 給每個方法和屬性加上protected或private訪問級別,就由編譯器替你記...
c 小甲魚C 快速入門 一
輸入一串整數和任意數目的空格,計算整數的和 includeint main printf 結果是 d sum return 0 cin.peek cin.get includeusing namespace std int main if cin.peek n break cout 用法一 cin....