1 定义
将函数的返回值类型和参数抽象出来有一个字母表示,该字母可代表任意类型。一般用T表示。
template<typename T>
1.1 函数模板,一般编译一两次。
第一次,将函数模板直接编译。
第二次,再调用函数模板时,会根据函数参数类型,自动推导函数模板中中T的类型,生成函数模板。
1.2 当函数模板和普通函数重名时,会优先调用普通函数实现功能。
1.3 普通函数和模板函数的区别
1.4 显性指定模板函数的类型
template<类型><typename T>
2 设计一个显示函数接口,可以显示任意类型的数据类型
2.1 重载输出运算符,加友元
2.2 模板函数具体化,加友元