①函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表。
②语法:template<typename T>
注:typename可以用class代替。
③代码实例
#include <iostream> using namespace std; template<class T> void Swap(T & x, T & y) { T tmp = x; x = y; y = tmp; } int main() { int n = 1, m = 2; Swap(n, m); //编译器自动生成 void Swap (int &, int &)函数 double f = 1.2, g = 2.3; Swap(f, g); //编译器自动生成 void Swap (double &, double &)函数 return 0; }
④函数模板的注意事项:
1.自动类型推导,必须推导出一致的数据类型T才可以使用
2.模板必须确定T的数据类型才可以使用