//函数模板template<typenameT>//声明一个模板,告诉编译器后面代码中紧跟着T不要报错,T是一个通用数据类型voidmySwap(T &a, T &b){
T temp = a;
a = b;
b = temp;}voidtest01(){int a =2;int b =1;//使用方法://1.自动类型推导mySwap(a, b);
cout <<"a ="<< a << endl;
cout <<"b ="<< b << endl;//2.显示指定类型mySwap<int>(a, b);
cout <<"a ="<< a << endl;
cout <<"b ="<< b << endl;}
注意事项
自动类型推导,必须推导出一致的数据类型T才可以使用
template<classT>//typename可以替换成classvoidmySwap(T &a, T &b){
T temp = a;
a = b;
b = temp;}voidtest01(){int a =10;int b =20;char c ='c';mySwap(a, b);//正确!//mySwap(a, c); //错误! 推到不出一致的T类型
cout <<"a="<< a << endl;
cout <<"b="<< b << endl;}