c++ iterator 是什么意思
2 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
迭代器
list<int> lst;
for(list<int>::iterator i = lst.begin(); i != lst.end(); i++)
printf("%d", *i);
iterator本質就是一個指針,和下面類似
char s[] = "hello";
for(char* p = s; *p != '\0'; p++) printf("%c", *p);

慕容森
TA貢獻1853條經驗 獲得超18個贊
iterator是一種抽象,用來封裝對數據結構的遍歷操作。比如你可以在不用知道數據結構實現的情況下,調用iterator來遍歷。這樣,我們可以用同一函數來對不同的數據結構進行遍歷,因為函數只操作迭代器,不與具體的數據結構直接耦合。
比如STL中find算法,可以用于任何支持輸入迭代器(Input iterator category)的數據結構,我們可以將vector::iterator,list::iterator,map::iterator等傳遞給find,而這些iterator的實現顯然依賴于具體的數據結構,并且有很大差異。
當然其他語言中也有iterator的概念,比如java,C#,python。
- 2 回答
- 0 關注
- 1095 瀏覽
添加回答
舉報
0/150
提交
取消