浅析iterator与指针的区别
- 软件编程
- 2026-01-11 15:21:37
1.指针和iterator都支持与整数进行+,-运算,而且其含义都是从当前位置向前或者向后移动n个位置
2.指针和iterator都支持减法运算,指针-指针得到的是两个指针之间的距离,迭代器-迭代器得到的是两个迭代器之间的距离
3.通过指针或者iterator都能够修改其指向的元素
通过上面这几点看,两者真的很像,但是两者也有着下面的几个不同地方
1.cout操作符可以直接输出指针的值,但是对迭代器进行在操作的时候会报错。通过看报错信息和头文件知道,迭代器返回的是对象引用而不是对象的值,所以cout只能输出迭代器使用*取值后的值而不能直接输出其自身。
2.指针能指向函数而迭代器不行,迭代器只能指向容器
这就说明了迭代器和指针其实是完全不一样的概念来的。指针是一种特殊的变量,它专门用来存放另一变量的地址,而迭代器只是参考了指针的特性进行设计的一种STL接口。
笔者曾在网上看到这样一种说法:迭代器是广义指针,而指针满足所有迭代器要求。迭代器是STL算法的接口,而指针是迭代器,因此STL算法可以使用指针来对基于指针的非STL容器进行操作。
笔者觉得上面说法也有几分道理,但是到底正不正确就留给看官自己判断了。但是有一点希望大家注意的是:千万不要把指针和迭代器搞混了。也许某些编译器使用指针来实现迭代器以至于有些人会误以为指针和迭代器是一个概念来的。
# 可以使用
# 的是
# 是一种
# 来实现
# 几点
# 几个
# 可以直接
# 也有
# 是一个
# 是从
# 人会
# 报错
# 这就
# 几分
# 千万不要
# 真的很
# 曾在
# 迭代
# 希望大家
# 说明了
# iterator
# 指针
# C++中this指针的用法及介绍
# C/C++中指针和引用之相关问题深入研究
# C语言的指针类型详细解析
# C++中一维数组与指针的关系详细总结
# C#委托所蕴含的函数指针概念详细解析
# 函数指针的一些概念详解
# 深入解析C++中的指针数组与指向指针的指针
# 基于指针的数据类型与指针运算小结
# 浅谈关于指针作为参数并改变它的值的问题
# C/C++指针小结
相关推荐:
PhpStorm连接服务器并实现自动上传功能
python制作一个简单的gui 数据库查询界面
MySQL 慢查询日志的开启与配置
Python中return函数返回值实例用法
python实现文件分片上传的接口自动化
Python urlopen()参数代码示例解析
关于SpringBoot使用Redis空指针的问题(不能成功注入的问题)
VUE中鼠标滚轮使div左右滚动的方法详解
java 多线程实现在线咨询(udp)
python中判断数字是否为质数的实例讲解
在vue中动态修改css其中一个属性值操作
从零搭建SpringBoot2.X整合Redis框架的详细教程
C/C++中memset,memcpy的使用及fill对数组的操作
python 操作excel表格的方法
python3 os进行嵌套操作的实例讲解
python 通过 pybind11 使用Eigen加速代码的步骤
使用python操作lmdb对数据读取的实例
Java实现猜数程序
C#窗体程序实现全屏及取消全屏步骤
Python 找出英文单词列表(list)中最长单词链
Java二叉树的四种遍历(递归和非递归)
详解Scrapy Redis入门实战
再分享6个可无限激活阿里云盘邀请码,不信你不能激活阿里云盘
用python对oracle进行简单性能测试
微信小程序用户登录和登录态维护的实现
Druid监控分布式实现过程解析
Spring Boot2读取配置常用方法代码实例
阿里云盘邀请码最新分享(阿里云盘邀请码怎么获取) <font color=red>原创</font>
Python控制鼠标键盘代码实例
完美解决c# distinct不好用的问题
MySQL如何使用时间作为判断条件
C# 实现Table的Merge,Copy和Clone
如何在JavaScript中等分数组的实现
python中二分查找法的实现方法
jquery实现拖拽小方块效果
vue3.0实现点击切换验证码(组件)及校验
解决docker指定udp端口号的问题
c++仿函数和函数适配器的使用详解
Docker在线、离线安装及其常用命令操作
C++和python实现阿姆斯特朗数字查找实例代码
python3访问字典里的值实例方法
C# 实现Distinct将对象按条件去重
总结python 三种常见的内存泄漏场景
Python偏函数实现原理及应用
Javascript实现单选框效果
gradle项目中资源文件的相对路径打包技巧必看
Springcloud hystrix服务熔断和dashboard如何实现
Spring Boot项目集成UidGenerato的方法步骤
深入理解 Java、Kotlin、Go 的线程和协程
Android 多图上传后将图片进行九宫格展示的实例代码
本文转自网络,如有侵权请联系客服删除。
热门内容推荐
C#使用虚拟方法实现多态
- 2026-01-11
JavaScript原生对象之String对象的属性和方法详解
- 2026-01-11
js实现DOM走马灯特效的方法
- 2026-01-11
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
- 2026-01-11
php实现微信公众平台账号自定义菜单类
- 2026-01-11
