隐式模板实例化
使用模板函数或模板类时需要实例。
如果这种实例还不存在,则编译器隐式实例化模板参数组合的模板。
显式模板实例化
编译器仅为实际使用的那些模板参数组合而隐式实例化模板。
该方法不适用于构造提供模板的库。
C++ 提供了显式实例化模板的功能,如以下示例所示。
1、 模板函数的显式实例化
要显式实例化模板函数,请在 template 关键字后接函数的声明(不是定义),且函数标识符后接模板参数。
template float twice<float>(float original);
在编译器可以推断出模板参数时,模板参数可以省略。
template int twice(int original);
2、 模板类的显式实例化
要显式实例化模板类,请在 template 关键字后接类的声明(不是定义),且在类标识符后接模板参数。