社区
C++ 语言
帖子详情
C++中的STL为什么需要 迭代器啊?
liuxingxxx
2010-08-10 05:16:30
我是个STL的菜鸟,面试的时候被问, 对容器的操作加“*”也能有同样效果,为什么还需要迭代器啊?
请大家给出迭代器的 具体优点! 拜谢。
...全文
361
16
打赏
收藏
C++中的STL为什么需要 迭代器啊?
我是个STL的菜鸟,面试的时候被问, 对容器的操作加“*”也能有同样效果,为什么还需要迭代器啊? 请大家给出迭代器的 具体优点! 拜谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangzhongke007
2010-08-10
打赏
举报
回复
刚刚学到STL,来学习了。
GodPointer
2010-08-10
打赏
举报
回复
学习了,
fallening
2010-08-10
打赏
举报
回复
将容器和算法的耦合解开
ccmfk
2010-08-10
打赏
举报
回复
为了抽象和统一吧
cattycat
2010-08-10
打赏
举报
回复
起个适配器的作用,而且隐藏容器的实现,对所有的容器基本遍历方式是一样的。而且算法实现时用迭代器就不关心容器的类型了。正是泛型设计的目的。
dahai9825
2010-08-10
打赏
举报
回复
主要适配算法的
elegant87
2010-08-10
打赏
举报
回复
[Quote=引用 4 楼 yujixi123 的回复:]
C++的设计思想之一就是尽量屏蔽指针 对指针的封装——iteraotr能达到这个目的 再者 iterator还是container与algorithm的桥梁 仅仅依靠C的指针是达不到这个功能的
[/Quote]
容器和算法的桥梁,连接起来
很方便访问容器的元素和操作
qq120848369
2010-08-10
打赏
举报
回复
同意,封装指针,而且为了算法.
hengshan
2010-08-10
打赏
举报
回复
1、通过迭代器访问容器,可以避免许多错误,可以隐藏容器的具体实现
2、迭代器是stl一个规范,只要算法和容器都遵循这个规范,那么就可以实现数据结构和算法的分离
3、迭代器本身有很多自身的有点,可以弥补c++语言的不足。比如它的iterator_category,可以得到迭代器所指向的型别,这样可以根据不同的型别的特性,提供不同的算法
zmshy2128
2010-08-10
打赏
举报
回复
容器 迭代器 算法 是 STL的三大利器
迭代器就是连接 容器和算法的桥梁。
cd2108006026
2010-08-10
打赏
举报
回复
迭代器是对指针的抽象;
它的存在,也是为了搭起STL容器和STL算法之间的桥梁。
算法对容器一无所知,它只操作容器的迭代器,间接的操作了容器
liutengfeigo
2010-08-10
打赏
举报
回复
很深奥~
yujixi123
2010-08-10
打赏
举报
回复
C++的设计思想之一就是尽量屏蔽指针 对指针的封装——iteraotr能达到这个目的 再者 iterator还是container与algorithm的桥梁 仅仅依靠C的指针是达不到这个功能的
healer_kx
2010-08-10
打赏
举报
回复
抽象。
maosher
2010-08-10
打赏
举报
回复
模板模板
抽象为元素的游标
xixiaoliu
2010-08-10
打赏
举报
回复
如果要取出 list 的第 10 个元素,你用什么样的方式?
[pdf格式]标准模板库自修教程与参考手册-
STL
进行
C++
编程(第二版)
本书译自
STL
经典教程《
STL
Tutorial and Reference Guide》最新版,本书作者最早提出了
STL
的基本理论,并对
STL
的应用和发展作出了卓越贡献。 本书内容分为3部分:第1部分是
STL
的入门知识,介绍了
STL
组件,
STL
与其他软件库的区别,
迭代器
的概念,
STL
类属算法,序列容器,有序关联容器,函数对象及容器、
迭代器
和函数适配器:第2部分是综合运用篇,其
中
给出了大量
STL
的应用实例;第3部分是
STL
参考指南,提供了
迭代器
、容器、类属算法、函数对象和函数适配器的参考信息,如文件、类的声明、示例、描述、构造函数和时间复杂度等。 本书内容全面、示例丰富,适合于用
C++
语言编程的所有开发人员。 ============================ 经典的书,不说什么了,csdn上都是超星格式的,这个是根据超星转化的,略有不清楚,但是方便携带,希望大家有更好的版本也能分享出来。
C++
中
STL
为什么要使用
迭代器
?
原因: 1、通过
迭代器
访问容器,可以避免许多错误,同时还能隐藏容器的具体实现。 2、
迭代器
可以保证对所有容器的基本遍历方式,都是一样的,实现算法时若
需要
遍历,则使用
迭代器
,则可以不用关注容器的具体类型,实现数据结构和算法的分离。 3、
迭代器
本身有很多优点,可以弥补
C++
语言的不足,比如它的iterator_category,可以得到
迭代器
所指向的类别,这样可以根据不同的类别的特性,提供不同的...
▲什么是
迭代器
?
迭代器
有什么作用?
什么是
迭代器
? 先说说它是干嘛的吧!
迭代器
的作用是用来访问容器(用来保存元素的数据结构)
中
的元素,所以使用
迭代器
,我们就可以访问容器
中
里面的元素。没错!这和访问数组这个序列的指针一样,因为数组范围内的指针就是
迭代器
的一种。 指针和
迭代器
有什么区别呢? 1.指针针是C语言里面就有的东西,而
迭代器
是
C++
里面才有的 2.指针用起来灵活,效率高。
迭代器
功能更丰富一些 3.指针通常用来访问的是序列的元素,但不是所有的容器都会在连续的内存空间上保存数据。所以,对于这些容器我们不能单纯地使用指针作为
迭代器
,而
C++
stl
迭代器
(
迭代器
失效问题)
C++
剖析
stl
迭代器
是什么?:
迭代器
和 指针;
迭代器
失效;详解`vector`
迭代器
失效
c++
| 五种
STL
迭代器
文章目录一、
迭代器
是什么?二、
迭代器
类别输入
迭代器
输出运算符前向
迭代器
双向
迭代器
随机访问
迭代器
三、不同容器所对应的
迭代器
类型四、
迭代器
的定义方式五、代码实现 一、
迭代器
是什么?
迭代器
是一种抽象的设计理念,通过
迭代器
可以在不了解容器内部原理的情况下遍历容器。除此之外,
STL
中
迭代器
一个最重要的作用就是作为容器与
STL
算法的粘结剂,只要容器提供
迭代器
的接口,同一套算法代码可以利用在完全不同的容器
中
,这是抽象思想的经典应用。 简单来讲,
迭代器
和
C++
的指针非常类似,它可以是
需要
的任意类型,通过
迭代器
.
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章