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