类模板在声明与实现分开为两个文件时,在使用时需要使用 类模板的.cpp文件(一般重命名为.hpp)类模板的友元函数需要在声明的时候加上 template<typename T> 的标识在具体实现的时候同样需要加上template<typename T>标识,并且所有的使用到的类型的地方需要加上<T>.h声明template<typename T>friend A<T> addA(const A<T>& a
模板函数是函数模板在编译的时候 根据推导或者具体化类型 根据函数模板生成的一个具体类型的函数函数模板对类型需要严格的匹配,不支持自动类型转换当普通函数与函数模板同时存在时,优先匹配普通函数。可以通过 函数名<>() 的方式,调用函数模板如果函数模板有更优的匹配(不需要隐式的类型转),优先使用函数模板而不是选择需要隐式转换类型的普通函数函数模板可以嵌套调用