社区
C语言
帖子详情
什么是迭代器???
退一步海阔天空l忍一时风平浪静
2010-04-20 06:08:39
迭代器是一种算法么? 它的实现原理是什么?
...全文
129
10
打赏
收藏
什么是迭代器???
迭代器是一种算法么? 它的实现原理是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kelijian
2012-05-25
打赏
举报
回复
是在STL中用来将算法和容器联系起来,起到粘合剂的作用。
cattycat
2010-04-21
打赏
举报
回复
迭代器是对容器的遍历操作封装的类,可以对不同的容器都有不同的迭代器。想深入了解的话,可以看stl方面的书。
退一步海阔天空l忍一时风平浪静
2010-04-21
打赏
举报
回复
顶上去
wade_2003
2010-04-20
打赏
举报
回复
看看C++ primer 第三版第六章6.5节
迭代器iterator提供了一种一般化的方法对顺序或关联容器类型中的每个元
连续访问例如假设iter为任意容器类型的一个iterator则
++iter;
向前移动迭代器使其指向容器的下一个元素而
*iter;
返回iterator指向元素的值
每种容器类型都提供一个begin()和一个end()成员函数
begin()返回一个iterator它指向容器的第一个元素
end()返回一个iterator它指向容器的末元素的下一个位置
为了迭代任意容器类型的元素我们可以这样写
for(iter=container.begin();
iter!=container.end();++iter)
do_something_with_element(*iter);
东大坡居士
2010-04-20
打赏
举报
回复
这个看JAVA语言很好理解的,还可以看看设计模式,里面有一个迭代器模式,就是讲这个
huanmie_09
2010-04-20
打赏
举报
回复
看看c++ primer第十一章。
十八道胡同
2010-04-20
打赏
举报
回复
有人怎经问过
pengzhixi
2010-04-20
打赏
举报
回复
想弄清楚的话看STL源码剖析
十八道胡同
2010-04-20
打赏
举报
回复
迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的smart pointers,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。因此,每一种容器型别都必须提供自己的迭代器。事实上每一种容器都将其迭代器以嵌套的方式定义于内部。因此各种迭代器的接口相同,型别却不同。这直接导出了泛型程序设计的概念:所有操作行为都使用相同接口,虽然它们的型别不同。
http://baike.baidu.com/view/925158.htm?fr=ala0_1_1
昵称很不好取
2010-04-20
打赏
举报
回复
可以看成是对指针的封装~~
用来遍历容器之类
google吧
朱老师C++课程第3部分3.2.STL的容器类和
迭代器
《朱老师带你学C++》属于系列课程《朱有鹏老师热门编程语言全解》的第一部分,主要针对C++语言学习。本课程可以看做是嵌入式linux核心课程中《C语言专题》课程的延续,在学好了C语言前提下继续深度学习C++语言。整个课程共分为5部分。涵盖了C++基础语法和使用,面向对象,STL与泛型,Boost库和设计模式,C++编程优化技巧等非常广泛的内容,是市面上非常缺少的深度完整学习C++,培养编程技能和修养的一套系列学习课程。整个课程预计2020年底前录制完成主体部分,总时长预计150-200小时。朱老师C++第1部分-从C到C++朱老师C++第2部分-C++和面向对象朱老师C++第3部分-STL等和泛型朱老师C++第4部分-Boost库和设计模式朱老师C++第5部分-C++编程优化和常见面试题 课程特色*完全零基础,降低学习门槛。*深入浅出,通俗易懂。不怕学不会,就怕你不学习。*思路清晰、语言风趣,对着视频看也不会想睡觉······*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。
▲什么是
迭代器
?
迭代器
有什么作用?
什么是
迭代器
? 先说说它是干嘛的吧!
迭代器
的作用是用来访问容器(用来保存元素的数据结构)中的元素,所以使用
迭代器
,我们就可以访问容器中里面的元素。没错!这和访问数组这个序列的指针一样,因为数组范围内的指针就是
迭代器
的一种。 指针和
迭代器
有什么区别呢? 1.指针针是C语言里面就有的东西,而
迭代器
是C++里面才有的 2.指针用起来灵活,效率高。
迭代器
功能更丰富一些 3.指针通常用来访问的是序列的元素,但不是所有的容器都会在连续的内存空间上保存数据。所以,对于这些容器我们不能单纯地使用指针作为
迭代器
,而
什么是
迭代器
?
迭代器
(Iterator)是一个对象,它的工作是遍历并选择序列中的对象,它提供了一种访问一个容器(container)对象中的各个元素,而不必暴露该对象内部细节的方法。通过
迭代器
,开发人员不需要了解容器底层的结构,就可以实现对容器的遍历。 由于创建
迭代器
的代价小,因此
迭代器
通常被称为轻量级的容器。 Iterator接口也是Java集合框架的成员,但它与Collection系列、Map系列...
什么是Python
迭代器
?
迭代器
(Iterator):
迭代器
可以看作是一个特殊的对象,每次调用该对象时会返回自身的下一个元素,从实现上来看,一个
迭代器
对象必须是定义了__iter__()方法和next()方法的对象。 Python的Iterator对象表示的是一个数据流,可以把这个数据流看做是一个有序序列,但我们却不能提前知道序列的长度,所以Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算; Iter...
python-哪些是可迭代对象?哪些是
迭代器
?
迭代器
和可迭代对象的区别——可迭代对象在遍历时不会发生消耗,但是
迭代器
会
python-哪些是可迭代对象?哪些是
迭代器
?
迭代器
和可迭代对象的区别——可迭代对象在遍历时不会发生消耗,但是
迭代器
会
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章