所以C++引入了泛型编程概念
在C++里,通过函数模板和类模板来实现泛型编程(类模板在下章将讲解)
函数模板
一种特殊的函数,可通过不同类型进行调用
函数模板是C++中重要的代码复用方式
通过template...//自动调用,编译器根据a和b的类型来推导
float c=0;
float d=1;
Swap(c,d); //显示调用,告诉编译器,调用的参数是float类型...多参数函数模板
在我们之前小节学的函数模板都是单参数的, 其实函数模板可以定义任意多个不同的类型参数,例如:
template <typename T1,typename T2,typename T3...,则必须需要指定返回值模板类型.因为编译器无法推导出返回值类型
可以从左向右部分指定类型参数
?...若转换失败,编译器便调用函数模板
可以通过空模板实参列表来限定编译器只匹配函数模板
?