zoukankan      html  css  js  c++  java
  • 设计模式C++描述----20.迭代器(Iterator)模式

    一. 举例说明

    我们知道,在 STL 里提供 Iterator 来遍历 Vector 或者 List 数据结构。

    Iterator 模式也正是用来解决对一个聚合对象的遍历问题,将对聚合的遍历封装到一个类中进行,这样就避免暴露这个聚合对象的内部表示的可能。

    例如在 STL 里有如相下结构:


    二. 迭代器模式

    定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示

    比较经典的例子是 STL 里的 for_each 操作

      1. // function called for each element    
      2. void print (int elem)    
      3. {    
      4.     cout << elem << ' ';    
      5. }    
      6.     
      7. int main()    
      8. {    
      9.         vector<int> coll;    
      10.     
      11.         INSERT_ELEMENTS(coll,1,9);    
      12.     
      13.         // for_each 对每个 elem 将调用 print(elem)    
      14.         for_each (coll.begin(), coll.end(),  // range    
      15.                   print);                    // operation    
      16.         cout << endl;    
      17. }   
  • 相关阅读:
    C++ 获取ms级的计时
    基于UDP的IP对IP的客户端程序
    stm32 keil生成bin文件
    xmos 加密
    DMX512程序介绍
    WS2812原理及实现
    MFC 通过按钮调用自对话框 给按钮加载位图 给对话框添加背景
    4*4矩阵键盘FPGA扫描实现
    FIFO
    Modelsim建立UVM环境
  • 原文地址:https://www.cnblogs.com/any91/p/3248022.html
Copyright © 2011-2022 走看看