Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
桃浪十七丶
cpp-design-patterns
提交
98b0b290
C
cpp-design-patterns
项目概览
桃浪十七丶
/
cpp-design-patterns
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cpp-design-patterns
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
98b0b290
编写于
10月 06, 2018
作者:
L
liu-jianhao
提交者:
GitHub
10月 06, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create README.md
上级
bc65c8ca
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
0 deletion
+15
-0
Iterator/README.md
Iterator/README.md
+15
-0
未找到文件。
Iterator/README.md
0 → 100644
浏览文件 @
98b0b290
# Iterator
## 动机(Motivation)
+
集合对象内部结构常常变化异常。但对于这些集合对象,我们希望不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;
同时这种”透明遍历“也为”同一种算法在多种集合对象上进行操作“提供了可能。
+
使用面向对象技术将这种遍历机制抽象为”迭代器对象“为”应对变化中的集合对象“提供了一种优雅的方式。
## 模式定义
提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露(稳定)该对象的内部表示。
——《设计模式》GoF
## 要点总结
+
迭代抽象:访问一个聚合对象的内容而无需暴露它的内部表示。
+
迭代多态:为遍历不同的集合对象提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作。
+
对C++来说是过时的,现在迭代器用模板,面向对象的方式性能低
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录