c++迭代器模式iterator
c++迭代器模式iterator
- 概念
- 角色和職責(zé)
- 案例
概念
Iterator模式也叫迭代模式,是行為模式之一,它把對容器中包含的內(nèi)部對象的訪問委讓給外部類,使用Iterator(遍歷)按順序進(jìn)行遍歷訪問的設(shè)計(jì)模式。
在應(yīng)用Iterator模式之前,首先應(yīng)該明白Iterator模式用來解決什么問題。或者說,如果不使用Iterator模式,會(huì)存在什么問題。
1.由容器自己實(shí)現(xiàn)順序遍歷。直接在容器類里直接添加順序遍歷方法
2.讓調(diào)用者自己實(shí)現(xiàn)遍歷。直接暴露數(shù)據(jù)細(xì)節(jié)給外部。
以上方法1與方法2都可以實(shí)現(xiàn)對遍歷,這樣有問題呢?
1,容器類承擔(dān)了太多功能:一方面需要提供添加刪除等本身應(yīng)有的功能;一方面還需要提供遍歷訪問功能。
2,往往容器在實(shí)現(xiàn)遍歷的過程中,需要保存遍歷狀態(tài),當(dāng)跟元素的添加刪除等功能夾雜在一起,很容易引起混亂和程序運(yùn)行錯(cuò)誤等。
Iterator模式就是為了有效地處理按順序進(jìn)行遍歷訪問的一種設(shè)計(jì)模式,簡單地說,Iterator模式提供一種有效的方法,可以屏蔽聚集對象集合的容器類的實(shí)現(xiàn)細(xì)節(jié),而能對容器內(nèi)包含的對象元素按順序進(jìn)行有效的遍歷訪問。所以,Iterator模式的應(yīng)用場景可以歸納為滿足以下幾個(gè)條件:
- 訪問容器中包含的內(nèi)部對象
- 按順序訪問
角色和職責(zé)
GOOD?
總結(jié)
以上是生活随笔為你收集整理的c++迭代器模式iterator的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女生考部队文职需要什么条件
- 下一篇: s3c2440移植MQTT