<C++学习笔记>iterator C++

<C++学习笔记>iterator C++

  迭代器是指向数据集合(比如数组、容器)中的元素的数据类型,它可以通过一系列的操作(如自增运算符++,取值运算符*)遍历数据集合中的元素。

 

  迭代器的一种显著形式是指针。指针可以指向数组中的元素,可以通过自增操作“++”遍历数组中的元素。此外迭代器还有其他形式,例如,每一种类型的容器,如vector,都设置有一个特定形式的“iterator”用于高效低遍历其中的元素。

 

  注意,虽然指针是一种典型的迭代器,但并非所有的迭代器都具有与指针相同的功能。指针具有一些迭代器所不需要具有的功能。

 

  迭代器存在五个分类,这五个类别是根据迭代器所执行的功能划分的,五个类别分别是:输入迭代器,输出迭代器,随机访问迭代器,前移迭代器,双向迭代器(注:这几个名称是本人根据C++ Reference 翻译而来的,可能跟权威译名有异)。

 

见下图:

 

 

<C++学习笔记>iterator C++

 

  上图所示的每一类迭代器均具有位于其右边的所有迭代器的所有功能。以下简述。

 

  (1)输入迭代器和输出迭代器:功能最有限的两类迭代器,只能分别进行顺序输入和输出操作。

 

  (2)前移迭代器:具有(1)中两类迭代器的功能,它的局限性是只能沿一个方向遍历数据集合。

 

  (3)双向迭代器:能双向遍历数据集合。

 

  (4)随机访问迭代器:可以不按顺序地访问元素,即访问某元素时不需要先访问该元素之前或之后的所有元素。指针就属于此类迭代器。

                                                 2012-07-27 23:15:29

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110359.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月19日 上午8:00
下一篇 2021年8月19日 上午9:00


相关推荐

  • docker离线安装「建议收藏」

    docker离线安装「建议收藏」1.下载Docker二进制文件(离线安装包)下载地址:https://download.docker.com/linux/static/stable/x86_64/本文使用/x86_64/docker-17.12.1-ce.tgz,注意对应操作系统类型。2、通过FTP工具将docker-17.12.1-ce.tgz上传到服务器上3、解压安装包tarzxfdocker-17.12.1-ce.tgz4、将docker相关命令拷贝到/usr/bin,方便直接运行命令sudo

    2026年4月14日
    3
  • OpenClaw龙虾来袭,热搜却让我拒绝AI焦虑

    OpenClaw龙虾来袭,热搜却让我拒绝AI焦虑

    2026年3月13日
    2
  • vs2012 ultimate 密钥

    vs2012 ultimate 密钥VisualStudioUltimate2012静态激活密钥,可以试一下。  RBCXF-CVBGR-382MK-DFHJ4-C69G8

    2022年10月14日
    6
  • YUV文件格式[通俗易懂]

    YUV文件格式[通俗易懂]原文:YUV图像格式的博客转:https://blog.csdn.net/armwind/article/details/52190123,文章不错特转载过来备忘一.YUV数据格式的定义和采集方式1)YUV数据格式定义     YUV分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma)…

    2022年7月16日
    22
  • jar中没有主清单属性【解决办法】

    jar中没有主清单属性【解决办法】在 pom 文件中 添加如下即可 lt plugin gt lt groupId gt org apache maven plugins lt groupId gt lt artifactId gt maven compiler plugin lt artifactId gt

    2026年3月19日
    2
  • 彻底搞懂0-1背包问题(动态规划)

    彻底搞懂0-1背包问题(动态规划)看了很多网上的博客,发现对于0-1背包问题很多讲的都很专业,初学者学起来还是比较吃力,今天我就用最简单最形象的语言来描述一下0-1背包问题,为什么不能用贪婪算法,而要选择使用动态规划。首先对于0-1背包问题,我们需要知道的是:每一个物品只有1个,要么全拿,要么不拿,最后使得拿到的物品的总价值最大。假如一个小偷有一个可以容纳4千克的背包,但是发现面前只有有3样物品可以偷:台灯(30元,4千克)、音响(20元,3千克)、充电宝(15元,1千克)(价格和重量可能有点奇怪????)。问,小偷能够偷到的物品的

    2022年7月26日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号