<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


相关推荐

  • 类加载器的双亲委派模型_java mock 模拟接口

    类加载器的双亲委派模型_java mock 模拟接口JVM类加载器JVM主要有以下几种类加载器:引导类加载器主要加载JVM运行核心类库,位于JRE的lib目录下,如rt.jar中的类。扩展类加载器主要加载JVM中扩展类,位于JRE的ext目录下。应用程序类加载器主要负责加载ClassPath路径下的类,也就是业务类。自定义加载器负责加载用户自定义路径下的类。类加载器关系…

    2022年8月11日
    8
  • mysql longtext,在MySQL中,当只需要TEXT时,LONGTEXT是否会浪费空间?[通俗易懂]

    mysql longtext,在MySQL中,当只需要TEXT时,LONGTEXT是否会浪费空间?[通俗易懂]TEXT[(M)][CHARACTERSETcharset_name][COLLATEcollation_name]ATEXTcolumnwithamaximumlengthof65,535(2^16−1)characters.Theeffectivemaximumlengthislessifthevaluecontainsmultibytec…

    2022年5月15日
    41
  • 怎样用python开发安卓app_python需要的软件

    怎样用python开发安卓app_python需要的软件我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了。最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一些相对成熟的模块,于是便开始了动手实战,过程中发现这其中有很多坑,好在最终依靠google解决了,因此小记一番。说在前面的话python语言虽然很万能,但用它来开发app还是显得有点不对路,因此用py…

    2022年8月12日
    9
  • python中选择排序法对数组进行升序排序_sort函数对字符串数组排序

    python中选择排序法对数组进行升序排序_sort函数对字符串数组排序这三个排序方法应对日常工作基本够用先说一下三者的区别sort,sorted是用在list数据类型中的排序方法argsort是用在numpy数据类型中的排序方法(numpy里也有一个sort方法,下面会讲)sort和sorted的区别如下????先看两个简单的升序排序,分别使用sorted和sort方法#sortednum_list=[1,8,2,3,10,4,5]ordered_list=sorted(num_list)print

    2022年8月13日
    9
  • alertdialog报错_AlertDialog错误

    alertdialog报错_AlertDialog错误Unabletoaddw Builderlocal newAlertDial Builder Service Activity this 这里使用 getApplicati 报错必须使用当前 activity

    2026年3月18日
    2
  • 创建shift后门实验总结_shift加delete

    创建shift后门实验总结_shift加delete一、实验目的及要求 1.学会创建Shift后门 2.掌握shift后门的原理 二、实验设备(环境)及要求 PC机,VC++等,虚拟云平台 三、实验内容与步骤 1.在192.168.1.3的虚拟机上打开cmd命令指示符; 2.输入“cdc:\WINDOWS\system32”,进入该文件夹; 3.输入…

    2026年1月18日
    4

发表回复

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

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