【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>  
            
首先:
 区分 非模板函数 模板函数 具体化
 非模板函数就是没有template<typename Type>
 模板函数就是有template<typename Type>在前面的
 template<typename T>
 void Swap(T &a, T &b)
 {
 balabala
 }
 具体化:
 template <> void Swap<job>(job &1 ,job &2)
 {
 和前面的函数模板的实现是不同的
 }
接着,看看实例化和具体化
 实例化: 使用模板的特定类型生成函数定义的时候,得到的就是模板的实例
 例如:
 在main()里面
 template void Swap<char>(char&,char&);这个就是显示实例化
 在后面可以这样使用:
 char g,h;
 Swap(g,h);
也可以不用显示实例化,而使用隐式实例化:
 short a,b;
 Swap(a,b);这个就是隐式实例化
  
来源:oschina
链接:https://my.oschina.net/u/920274/blog/3152442