Logo
Section 1 / 18

模板实例化

在本节课中,我们将学习模板实例化。

导入

模板实例化

在本节课中,我们将学习模板实例化。

模板实例化

模板可以隐式和显式地进行实例化。隐式实例化表示自动进行,显式实例化表示手动进行。

隐式实例化

1std::vector<int> vec{}; 2bool isSmaller<double>(fir, sec); 3bool isSmaller(fir, sec);

显式实例化

1template class std::vector<int>; 2template bool std::vector<double>::empty() const; 3template bool isSmaller<double>(double, double); 4template bool isSmaller(double, double);

延迟实例化

当一个类被实例化时,只有方法的声明可用。

方法的定义仅在被使用时才会被实例化。

并非类模板的所有方法都对所有模板参数有效。你只能使用那些对特定实例化有效的方法。


在下一课中,我们将通过一个模板实例化的示例来进一步学习。

基础

- 示例