当前位置:编程学习 > C/C++ >>

设计模式C++描述----20.迭代器(Iterator)模式

一. 举例说明

我们知道,在 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

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,