16.6 算法

STL包含很多处理容器的非成员函数,它们的总体设计是相同的:

  1. 都使用迭代器来标识要处理的数据区间和结果的放置位置
  2. 有些函数接受一个函数对象参数,并使用其来处理数据

由上引出下面对于算法函数的讨论:

对于算法函数设计,有两个主要的通用部分:

  1. 使用模板来提供泛型
  2. 使用迭代器来提供访问容器中数据的通用表示

### 以上设计充分地支持了STL算法,并且统一的容器设计使得不同类型的容器之间具有明显关系,算

### 法的通用性使得它跨越了容器与容器之间、数据与数据之间的差距,但凡概念上同质的数据结构

### 均可使用同一算法,即使它采用了不同的容器种类甚至不同的数据类型。

原文地址:https://www.cnblogs.com/suui90/p/13549833.html