C++模板之函数模板实例化和具体化
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 模板声明 template<typename/class T>, typename比class最近后添加到C++标准。 常规模板,具体化模板,非模板函数的优先调用顺序。 非模板函数(普通函数)> 具体化模板函数 > 常规模板 显示具体化: 具体化表示为某一特定的类型重写函数模板,声明的含义是使用独立的,专门的函数定义显示地为 特定类型生成函数定义。 为什么要有显示具体化? 处理模板函数所不能处理的特殊情况。显式具体化显式具体化也是基于函数模板的,只不过在函数模板的基础上,添加一个专门针对特定类型的、实现方式不同的具体化函数。 显示具体化声明在关键字template后包含<>. 如: template<> void swap<job>(job &j1, job &j2); vs2013不支持: void swap(Any &a, Any &b); struct job { char name[40]; double salary; int floor; }; template<> void swap<job>(job &j1, job &j2); void Show(job &j); int main(){ using namespace std; template void swap<job>(job &,