- 实例化:模板本身不会生成函数或类定义,它只是一个用于生成函数或类的方案,编译器使用模板为特定类型生成函数或类定义的过程叫做模板的实例化。
- 具体化:为模板中抽象的泛型指定具体的类型。它包含隐式实例化、显示实例化、显式具体化、部分具体化。
- 隐式实例化:
编译器使用通用模板提供的处方生成具体的类定义,声明一个对象,指出所需的类型。
编译器生成对象之前,不会生成类的隐式实例化:
ArrayTP<double, 30> * pt; //指针pt,不会生成对象
pt = new ArrayTP<double, 30>;
第二条语句导致编译器生成类