Posted on 2008-10-04 16:40
沒(méi)畫(huà)完的畫(huà) 閱讀(1697)
評(píng)論(4) 編輯 收藏 引用 所屬分類(lèi):
C++
迭代器
從前,有四個(gè)很無(wú)聊的人定義了一些設(shè)計(jì)模式,
在這些設(shè)計(jì)模式中有一種模式叫 迭代器模式
在 GOF 那本書(shū)是這樣定義的 :
意圖:提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素, 而又不需暴露該對(duì)象的內(nèi)部表示。
STL 中的迭代器
STL中的迭代器是一種 檢查容器內(nèi)元素 并 遍歷元素的數(shù)據(jù)類(lèi)型。
它能使我們?cè)诓槐┞度萜鲀?nèi)部結(jié)構(gòu)的情況下訪問(wèn)容器的元素。
為什么叫"迭代器"?為什么不叫"遍歷器"?"訪問(wèn)器"?
迭代器的出現(xiàn)就是為了我們更方便的訪問(wèn)容器的成員設(shè)立的,
為讓我們?cè)L問(wèn)容器的內(nèi)容有一個(gè)統(tǒng)一的概念,于是出現(xiàn)了"迭代器"就一名詞。
迭代器的類(lèi)型
1、輸入迭代器:只讀,一次傳遞
2、輸出迭代器:只寫(xiě),一次傳遞
3、前向迭代器:多次讀/寫(xiě)
4、雙向迭代器:operator--
5、隨機(jī)訪問(wèn)迭代器:類(lèi)似于一個(gè)指針