C++ 高级编程技巧——迭代器
发布时间
阅读量:
阅读量
- 开发与具体数据类型无关的软件 *
- 抽取特定数据结构中的算法逻辑以形成通用解决方案 *
- C++模板系统构成了泛型编程的核心架构 *
术语:概念
- 用于分类具有特定功能的数据类别。
- 设有两个不同的概念A与B,在满足以下条件时:若两者的需求数学上一致,则可定义称其中一个是另一个的子类。
术语:模型
- 符合一个概念的数据类型称为该概念的模型。
用概念做模板参数名:
大量STL实现代码是以概念命名其模板参数的方式编写。
给概念起一个名字,并用这个名字作为模板参数名。
表示insertionSort这样一个函数模板的原型:
tempalte <class Sortable>
void insertionSort(Sortable a[], int n); //用Sortable这样的概念作为参数
1. STL
STL的基本组件
存储结构(storage structure)
遍历工具(遍历工具)
操作函数(操作函数)
运算规则集(运算规则集)
迭代器是算法与容器之间的纽带:利用迭代器为算法提供参数,并通过迭代器间接访问容器而非直接使用容器作为算法的输入;
不仅仅将函数对象作为被调用的对象;
而是避免将函数所执行的具体运算视为算法的核心
全部评论 (0)
还没有任何评论哟~
