• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 浅析iterator与指针的区别

浅析iterator与指针的区别

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了list和iterator的区别,iterator,iterator用法,iterator迭代器,iterator遍历等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1.指针和iterator都支持与整数进行+,-运算,而且其含义都是从当前位置向前或者向后移动n个位置

2.指针和iterator都支持减法运算,指针-指针得到的是两个指针之间的距离,迭代器-迭代器得到的是两个迭代器之间的距离

3.通过指针或者iterator都能够修改其指向的元素

通过上面这几点看,两者真的很像,但是两者也有着下面的几个不同地方

1.cout操作符可以直接输出指针的值,但是对迭代器进行在操作的时候会报错。通过看报错信息和头文件知道,迭代器返回的是对象引用而不是对象的值,所以cout只能输出迭代器使用*取值后的值而不能直接输出其自身。

2.指针能指向函数而迭代器不行,迭代器只能指向容器

这就说明了迭代器和指针其实是完全不一样的概念来的。指针是一种特殊的变量,它专门用来存放另一变量的地址,而迭代器只是参考了指针的特性进行设计的一种STL接口。

笔者曾在网上看到这样一种说法:迭代器是广义指针,而指针满足所有迭代器要求。迭代器是STL算法的接口,而指针是迭代器,因此STL算法可以使用指针来对基于指针的非STL容器进行操作。

笔者觉得上面说法也有几分道理,但是到底正不正确就留给看官自己判断了。但是有一点希望大家注意的是:千万不要把指针和迭代器搞混了。也许某些编译器使用指针来实现迭代器以至于有些人会误以为指针和迭代器是一个概念来的。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析iterator与指针的区别

相关文章

  • 2017-05-28对C++默认构造函数的一点重要说明
  • 2017-05-28C语言实现的bitmap位图代码分享
  • 2017-05-28C++结构体数组详细解析
  • 2017-05-28自己实现strcpy函数的实现方法
  • 2017-05-28指针与const限定符的使用分析
  • 2017-05-28解析C++中派生的概念以及派生类成员的访问属性
  • 2017-05-28C++中字符串查找操作的两则实例分享
  • 2017-05-28C++聚合关系类的构造函数的调用顺序详解
  • 2017-05-28C语言 文件的打开与关闭详解及示例代码
  • 2017-05-28C++虚函数的实现机制分析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Windows窗口消息实例详解
    • C++中vector容器使用详细说明
    • 详解C++中的指针、数组指针与函数指针
    • C语言小程序 如何判断三角型类型
    • c++关键字mutable深入解析
    • 浅谈C语言编程中的布尔bool数据类型
    • C语言中结构体(struct)的几种初始化方法
    • C语言中操作密码文件的一些函数总结
    • C++拷贝构造函数(深拷贝与浅拷贝)详解
    • MFC设置对话框焦点的方法简述

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有