函数模板有两种使用方法:
1 .自动类型推导
mySwap(a,b);
2 . 显示指定类型
mySwap<double>(a,b); //指定数据类型是double
#include <iostream>
using namespace std;
//函数模板的语法与定义
template<typename T> //告诉编译器,后面有模板不要报错
void mySwap(T &a,T &b)
{
T temp = a;
a = b;
b = temp;
}
int main()
{
double a= 1.7;
double b = 2.9;
mySwap(a,b);//需要自动类型推导
mySwap<double>(a,b);//不需要自动类型推导
cout<<a<<b<<endl;
return 0;
}
函数模板使用注意事项:
1.自动类型推导必须推导出一致的数据类型 T,才可以使用
int a = 29;
int b =23;
char c = 'A';
mySwap(a,b); //a,b为同类型,不会报错
mySwap(a,c); //a和c类型不一致,会报错
2模板必须要确定出 T的数据类型,才可以使用
void test()
{
}
test<int >()