日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++迭代器模式iterator

發(fā)布時(shí)間:2024/9/27 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++迭代器模式iterator 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。