泛型编程
泛型编程是指:使用一个特殊的类型(泛型)来定义变量,写一个模板函数,以适应传递不同类型的参数,下列的 T1 和 T2 就是一种泛型。
template
- 注意:模板不支持分离编译,即声明在 .h 文件,定义在 .cpp 文件。
- 但是可以在.h文件中定义,然后在包含这个h头文件的 .cpp 文件中应用。
普通函数在编译时函数名会被编译称特殊符号。
int add(int a,int b); //编译时会被编译成 _Z4addii(?)
- 而函数模板在编译阶段根本不会被编译为特殊符号,因为它没有实例化。
- 所以在链接时,根据_Z4addii这个名字会找不到对应的函数原型。