<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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)

    POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)

    2022年1月13日
  • C语言的seekg函数,C++ seekg函数用法详解[通俗易懂]

    C语言的seekg函数,C++ seekg函数用法详解[通俗易懂]很多时候用户可能会这样操作,打开一个文件,处理其中的所有数据,然后将文件倒回到开头,再次对它进行处理,但是这可能有点不同。例如,用户可能会要求程序在数据库中搜索某种类型的所有记录,当这些记录被找到时,用户又可能希望在数据库中搜索其他类型的所有记录。文件流类提供了许多不同的成员函数,可以用来在文件中移动。其中的一个方法如下:seekg(offset,place);这个输入流类的成员函数的名字se…

    2022年4月29日
  • naviate15激活码(注册激活)2022.01.30

    (naviate15激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
  • intellijidea2021最新激活码_最新在线免费激活

    (intellijidea2021最新激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
  • PHP中unset,array_splice删除数组中元素的区别

    PHP中unset,array_splice删除数组中元素的区别

    2021年10月15日
  • tcpdf_teambition搭建

    tcpdf_teambition搭建tcpdf开发文档(中文翻译版)2017年5月3日15:06:15这个是英文翻译版,我看过作者的文档其实不太友善或者不方便阅读,不如wiki方便后面补充一些,结构性文档翻译这是一部官方网站文档,剩余大部分都是开发的时候和网络总结来的项目官网:https://tcpdf.org/github:https://github.com/tecnickcom/TCPDF都没比较完整的api文档…

    2022年9月8日

发表回复

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

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