- OOP是把data和实现合起来放进一个class;GP是把二者分开,二者可以各自开发,他们之间通过迭代器联系起来,减少耦合性;
例如sort对一个容器的某个范围内元素进行排序,在实现中进行一些具体操作,而具体排序的是哪种容器并不关心,只要能支持我所需的各种操作就可以,例如需要ite + n的操作,所以操作的容器必须提供随机访问迭代器,因此list不支持std::sort。因此容器和算法可以各自开发,之间以迭代器为纽带,这样的算法能操作的容器就不止单单一种,所以叫泛型算法
例如sort对一个容器的某个范围内元素进行排序,在实现中进行一些具体操作,而具体排序的是哪种容器并不关心,只要能支持我所需的各种操作就可以,例如需要ite + n的操作,所以操作的容器必须提供随机访问迭代器,因此list不支持std::sort。因此容器和算法可以各自开发,之间以迭代器为纽带,这样的算法能操作的容器就不止单单一种,所以叫泛型算法