模板编译
1)遇到模板时不生成代码,实例化时生成代码
2)函数模板和类模板成员函数的定义通常放在头文件中
3)实例化冗余:当模板被使用时才会进行实例化这一特性意味着,相同的实例可能出现在多个对象文件中。当两个或多个独立编译的源文件使用了相同的模板,并提供了相同的模板参数时,每个文件中就都会有该模板的一个实例
3.1 实例化声明
extern template declaration
extern template class Blob<string>;
extern template int compare(const int&,const int&);
当遇到extern模板声明时,不会在本文件中生成实例化代码。将一个实例化声明为