zoukankan      html  css  js  c++  java
  • 16.4.2 迭代器类型

    STL定义了五种迭代器:

    1. 输入迭代器 InputIterato
      •  解除引用用于程序向容器读取内容,一般不允许修改值
      •    支持++运算符(前缀和后缀)
      •  输入迭代器是单向迭代器,可以递增,但不能倒退
    2. 输出迭代器 OutputIterator
      •  解除引用让程序修改容器值,但不能读取
      •    其余部分与输入迭代器相似(单通行、递增等)
      正向迭代器 ForwardIterator
      •  单通行、递增(使用++)
      •    既可以读取和修改(*),也可以只读(const *)
    3. 双向迭代器 ...
      •  双向迭代器具有正向迭代器的所有特性
      •    支持两种(前缀和后缀)递减运算符
    4. 随机访问迭代器 RandomAccessIterator
      •  支持双向迭代器的所有特性
      •    支持随机访问的操作(如指针增加运算)
      •    支持用于对元素进行排序的关系运算符

    并根据所需的迭代器类型对算法进行了描述:

    template<class InputIterator, class T>
    InputIterator find(InputIterator first, InputIterator last, const T & value);
    template<class RandomAccessIterator>
    void sort(RandomAccessIterator first, RandomAccessIterator last);

    对于这五种迭代器,都可以执行解除引用操作(*),也可进行比较(==、!=)

  • 相关阅读:
    3.15SQL
    SQL注入
    黑盒渗透测试【转自HACK学习-FoxRoot】
    【学校作业】某项目网络安全技术解决方案
    小米手环4使用半年后的测评报告
    GKCTF赛后复盘
    RCTF赛后复盘
    【课堂笔记】常见漏洞总结
    原型链污染问题的研究
    CTF之Web常见题型总结
  • 原文地址:https://www.cnblogs.com/suui90/p/13546155.html
Copyright © 2011-2022 走看看