1. 函数模板的声明 template<typename 数据类型参数标识符1 [, typename 数据类型参数标识符2, ...]> <返回类型><函数名>(参数表) { 函数体 } 2. 使用 2.1 template<typename T> T Add(T a, T b) { T c = a + b; return c; } int a, b; Add(a, b);// 上面的T经过编译器, 就编程int了(有一点像C中的宏).
2.2 template<typename T1, typename T2> T2 Sub(T1 a, T1 b) { T2 c = a / b; return c; } int a, b; Sub<int, double>(a, b);// 因为模板函数的参数列表中没有使用到T2, 所以在调用的时候要显式增加.