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


相关推荐

  • 求平面方程的几种方法_平面及其方程

    求平面方程的几种方法_平面及其方程假设在三维世界中存在一个平面,如图  一个平面可以通过如下表达式表达                      (1)其中,(x,y,z)是在该平面上上的点的3D坐标。(A,B,C)能够构成该平面的一个法向量n。 那么,怎么通过一堆离散的点来求解这个平面呢?首先我们可以简单的用一个平面的法向量来表征一个平面。 方法1:假设在某个平面中存在着三个坐标点分别…

    2025年6月12日
    3
  • linux shell pushd popd dirs命令「建议收藏」

    http://www.cnblogs.com/davidwang456/p/3784102.htmlhttp://blog.csdn.net/yucan1001/article/details/8455757http://blog.163.com/yangfan876@126/blog/static/806124562013720104712282/1、dirs1)

    2022年4月11日
    32
  • Java 生成 UUID[通俗易懂]

    Java 生成 UUID[通俗易懂]1.UUID简介UUID含义是通用唯一识别码(UniversallyUniqueIdentifier),这是一个软件建构的标准。也是被开源软件基金会(OpenSoftwareFou

    2022年8月1日
    3
  • Kubernetes上安装ELK监控

    Kubernetes上安装ELK监控

    2021年5月15日
    130
  • 简单jquery写css样式[通俗易懂]

    简单jquery写css样式[通俗易懂]简单jquery写css样式

    2022年4月23日
    49
  • 树莓派4B连接WIFI教程

    树莓派4B连接WIFI教程树莓派4B连接连接WIFI教程你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体…

    2022年5月13日
    132

发表回复

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

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