没画完的画

喂马 劈柴 BBQ~
posts - 37, comments - 55, trackbacks - 0, articles - 0
  C++博客 ::  :: 新随笔 :: 联系 :: 聚合  :: 管理

有样东西,它叫“迭代器”

Posted on 2008-10-04 16:40 没画完的画 阅读(1666) 评论(4)  编辑 收藏 引用 所属分类: C++
迭代器
从前,有四个很无聊的人定义了一些设计模式,
在这些设计模式中有一种模式叫 迭代器模式
在 GOF 那本书是这样定义的 : 
意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。

STL 中的迭代器
STL中的迭代器是一种 检查容器内元素 并 遍历元素的数据类型。
它能使我们在不暴露容器内部结构的情况下访问容器的元素。

为什么叫"迭代器"?为什么不叫"遍历器"?"访问器"?
迭代器的出现就是为了我们更方便的访问容器的成员设立的,
为让我们访问容器的内容有一个统一的概念,于是出现了"迭代器"就一名词。

迭代器的类型
1、输入迭代器:只读,一次传递
2、输出迭代器:只写,一次传递
3、前向迭代器:多次读/写
4、双向迭代器:operator--
5、随机访问迭代器:类似于一个指针

Feedback

# re: 有样东西,它叫“迭代器”  回复  更多评论   

2008-10-04 20:39 by ShiningRay
为什么叫“迭代器”
估计是数学家发明的这个词

# re: 有样东西,它叫“迭代器”  回复  更多评论   

2008-10-05 10:21 by 小白熬成了老白
因为Iterator被很做作地翻译作了迭代器。

# re: 有样东西,它叫“迭代器”  回复  更多评论   

2008-10-05 14:00 by YauzZ
楼上说的对

# re: 有样东西,它叫“迭代器”  回复  更多评论   

2008-10-07 11:06 by Niino
原来被翻译成了迭代器...

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理