程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 設計模式C++描述----20.迭代器(Iterator)模式

設計模式C++描述----20.迭代器(Iterator)模式

編輯:C++入門知識

一. 舉例說明

我們知道,在 STL 裡提供 Iterator 來遍歷 Vector 或者 List 數據結構。

Iterator 模式也正是用來解決對一個聚合對象的遍歷問題,將對聚合的遍歷封裝到一個類中進行,這樣就避免暴露這個聚合對象的內部表示的可能。

例如在 STL 裡有如相下結構:

 \


二. 迭代器模式

定義:提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部表示。

 \

比較經典的例子是 STL 裡的 for_each 操作:

[cpp] // function called for each element    
void print (int elem)   
{   
    cout << elem << ' ';   
}   
   
int main()   
{   
        vector<int> coll;   
   
        INSERT_ELEMENTS(coll,1,9);   
   
        // for_each 對每個 elem 將調用 print(elem)    
        for_each (coll.begin(), coll.end(),  // range    
                  print);                    // operation    
        cout << endl;   
}   

 

 

作者 lwbeyond

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved