函数模板作用:
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
语法:
template<typename T>
函数的定义或者声明
temlate:声明创建模板
typename:表明其后面的符号是一种数据类型,可以用class代替
T:通用的数据类型,名称可替换,通常是大写字母
```cpp
#include<iostream>
#include<string>
using namespace std;
//用函数模板提供通用的交换函数
template<typename T>
void f(T &a, T &b)
{
T t = a;
a = b;
b = t;
}
void t1()
{
int a = 1;
int b = 2;
//方法一:自动类型推导
f(a, b);
cout << "a=" << a << endl;
cout << "b=" << b << endl;
//方法二:显示指定类型
f<int>(a, b);
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
int main()
{
t1();
system("pause");
return 0;
}
注意事项:
自动类型推导类必须推导出一致的数据类型T才可以使用。
模板必须要确定出T的数据类型才可以使用。