C++ Primer 中文版 学习笔记(十)

来源:互联网 发布:京东秒杀软件安卓版 编辑:程序博客网 时间:2024/05/01 18:43

第11章泛型算法

1        泛型算法只在一点上隐式地依赖元素类型:必须能够对元素做比较运算。

2        泛型算法的明确要求如下:

1)  需要某种遍历集合的方式:能够从一个元素向前移到下一个元素。

2)  必须能够知道是否到达了集合的末尾。

3)  必须能够对容器中的每一个元素与被查找的元素进行比较。

4)  需要一个类型来指出元素在容器中的位置,或者表示找不到该元素。

3        算法不直接修改容器的大小,如果要添加或删除元素,则必须使用容器操作。

4        五种迭代器:

1)  输入迭代器

2)  输出迭代器

3)  前向迭代器

4)  双向迭代器

5)  随机访问迭代器

在处理算法时,最好将关联容器上的迭代器视为支持自减运算的输入迭代器,而不是完整的双向迭代器。

5   与对应的泛型算法不同,list容器特有的操作能添加和删除元素。例如remove unique