11.1 概述
11.1.1 标准算法独立于类型
- 需要某种遍历集合的方式:能够从一个元素向前移到下一个元素;
- 必须能够知道是否达到了集合的末尾;
- 必须能够对容器中的每一个元素与被查找的元素进行比较;
- 需要一个类型来指出元素在容器中的位置,或者表示找不到该元素。
11.1.2 迭代器将算法和容器绑定起来
- 支持自增,提供解引用操作符,支持相等和不相等操作符(除写入迭代器);
- 超出末端迭代器(off-the-end iterator),指向不是要操作的元素,用作哨兵;
- 元素类型定义相等(==)操作符或自定义函数比较;
- 同2.
&nstp 泛型算法本身从不执行容器操作,只是单独依赖迭代器和迭代器操作实现。算法基于迭代器及其操作实现,而非基于容器操作