1、概念:
简述:泛型程序设计其实就是编写的程序他不依赖具体的数据类型。
思想:主要是把具体的算法从特定的一些数据结构剥离抽象出来,使这种算法可以在任何数据类型中通用,不仅仅是基本数据类型,自定义类型等。
优点:不需要再对不同的数据类型或者容器进行操作运算时编写一套同样的算法,当对不同类模板进行重写或者修改扩充时也不需要再重写大量的算法函数,极大的提高了软件的复用性。
2、使用:
最常见的就是使用STL进行面向对象的程序设计过程,STL中的类模板、函数模板都是通过泛型编程的思想进行设计。
STL库中最常说的容器库里面主要使用这7种:向量(vector)、双向队列(deque)、列表(list)、集合(set)、多重集合(multiset)、映射(map)以及多重映射(multimap)。
具体使用可参考下面这些书籍中对应的章节:
《C++11/14高级编程:Boost程序库探秘》
《C++ 注释C++ Annotations》
《泛型编程与STL》