函数模板概念
C++新增的新特性—函数模板,其指的是通过定义泛型类型来封装函数(泛型类型可以是函数返回值,形参),是函数具有类型自动化转换的泛型功能。
建立类型模板----核心
写法: template
template:C++模板关键字
typename:定义返回值形参类型参数关键字
newtmpname:自己自定义类型模板的名称
示例代码
#include <iostream>
using namespace std;
template <typename T> //定义模板T为任意类型
void Swap(T &a,T &b)
{
T tmp = a;
a = b;
b = tmp;
}
int main()
{
int a = 1,b =2;
double c = 1.1 , d = 1.2;
cout<<"a:"<<a<<" b:"<<b<<endl;
Swap(a,b);
cout<<"a:"<<a<<" b:"<<b<<endl;
cout<<"c:"<<c<<" d:"<<d<<endl;
Swap(c,d);
cout<<"c:"<<c<<" d:"<<d<<endl;
return 0;
}
运行结果
根据运行结果可知,函数形参定义了模板类型,该函数可以自动转换对应的类型进行运算, int按照int运算,double按照douuble运算