什麼是C++中的迭代器?什麼是迭代器,C++?
回答
迭代器是一種遍歷對象集合的方法。通常,它們允許您按照與使用指針訪問經典C數組類似的方式順序訪問STL(標準模板庫)容器。要通過迭代器訪問對象,可以像C指針一樣將其解引用。要訪問集合中的下一個對象,可以使用increment(++)運算符。一些容器有多種迭代器,允許你以不同的方式遍歷集合。
http://en.wikipedia.org/wiki/Iterator
的東西,可以讓你經歷的一切在一個陣列,一個接一個。我認爲你在談論的是「for_each」......據我所知,C++實際上並不像C#這樣的語言具有「foreach」。但是,標準模板庫有它。
它肯定比數組更多,實際上是迭代器的目標C++將抽象集合本身及其屬性抽象出來,以便處理迭代器的算法可以用於任何類型的集合:) – 2010-02-21 12:46:11
它們是序列中位置的表示。它們本身就不是好奇心,但是當它們被解除引用時,它們就會導致序列中包含的值在它所代表的位置上。
儘管最初看起來相當明顯,但實際上這是一個比您可能意識到的更深的問題。與Paul McJones一起,Alexander Stepanov(原創設計師,對於任何不知道這一點的人)最近發佈了一本名爲編程的元素(又名EOP)。該書的第6章全部專門用於迭代器,本書的其餘部分也與迭代器密切相關。任何真正想詳細瞭解迭代器的人都可以考慮閱讀本書。
警告:EOP爲而不是爲心灰意懶。這是相對較短(約260頁),但相當密集。從經驗上講,早起有點令人不安。我對第一章的初步反應或多或少是「好的,這很明顯,它不值得閱讀,畢竟在上週之前我開始編程!」
幸運的是,我確實看過練習,並試圖做一對夫婦 - 儘管我認爲這些科目很明顯,但這些練習需要嚴格的證明。這有點像被要求從數學意義上證明水是潮溼的。你最終只需要閱讀幾章就可以瞭解你自己的先入爲主的觀點,即你已經知道答案,所以你可以看看真正的問題 - 「溼」的真正含義是什麼; 「潮溼」的基本特徵是什麼?
這樣就能找到像這樣的答案。 +1 – 2010-02-21 08:36:43
感謝您指向我應該知道的書(如果沒有閱讀)。 – 2010-02-21 08:48:37
從p。 80 Accelerated C++的:
的迭代是
- 標識的容器和容器中的
- 讓我們檢查存儲在該元件
- 提供操作用於移動值的元素的值在容器中的元素之間
- 以對應於容器有效處理的方式限制可用操作
- 1. C++迭代器做什麼?
- 2. 什麼是SCARY迭代器?
- 3. 什麼用作end()迭代器C++?
- 4. python迭代器的接口是什麼?
- 5. 爲什麼這個迭代器是const?
- 6. 什麼是迭代在Java
- 7. STL容器迭代器和C指針迭代器有什麼區別
- 8. 什麼是STL C++中的過去式迭代器?
- 9. 什麼是C#相當於迭代器的Java中
- 10. C++中STL迭代器的大小是什麼
- 11. C++迭代器的生命週期和有效性是什麼?
- 12. 什麼是無限迭代器?爲什麼要使用它?
- 13. C++迭代器
- 14. C++ - 迭代器迭代器不編譯
- 15. 異類迭代器的C++迭代器
- 16. 爲什麼列表迭代比矢量迭代C++
- 17. 爲什麼迭代HashMap O(c/n)?
- 18. 什麼是C#迭代器和生成器,以及如何利用它們
- 19. LevelDB C迭代器
- 20. C++流迭代器
- 21. C++迭代器類
- 22. 迭代器無故迭代C++
- 23. 將迭代計算轉換爲迭代器 - 這叫做什麼?
- 24. 與迭代器相比,生成器的好處是什麼?
- 25. 什麼是序列容器的迭代器類型?
- 26. 爲什麼迭代器不兼容?
- 27. 使用迭代器有什麼優勢?
- 28. 爲什麼yield會返回迭代器?
- 29. 爲什麼std :: pair沒有迭代器?
- 30. 爲什麼PHP有迭代器對象?
http:// stackoverflow。com/questions/1064983 /不同類型的迭代器/ 1065528#1065528,http://www.sgi.com/tech/stl/Iterators.html – 2010-02-21 07:32:57
這是很好的信息來源:http://www.cs .helsinki.fi/u/tpkarkka/alglib/k06/lectures/iterators.html – Manuel 2010-02-21 08:10:21
http://www.cplusplus.com/reference/iterator/ – 7bisso 2016-10-18 09:17:13