所以C++引入了泛型编程概念
在C++里,通过函数模板和类模板来实现泛型编程(类模板在下章将讲解)
函数模板
一种特殊的函数,可通过不同类型进行调用
函数模板是C++中重要的代码复用方式
通过template...关键字来声明使用模板
通过typename关键字来定义模板类型
比如:
template typename T> //声明使用模板,并定义T是一个模板类型
void Swap(T&...函数模板的使用
分为自动调用和显示调用
例如,我们写了一个Swap函数模板,然后在main()函数里写入:
int a=0;
int b=1;
Swap(a,b);...所以函数模板,其实只是一个模具,当我们调用它时,编译器就会给我们生成真正的函数....函数模板可以像普通函数一样被重载
函数模板不接受隐式转换
当有函数模板,以及普通重载函数时,编译器会优先考虑普通函数
如果普通函数的参数无法匹配,编译器会尝试进行隐式转换,若转换成功,便调用普通函数