所谓模板特化是指在类前或是在函数前加 template<>,此时的“template<>”象征着既不是template也不是标准class,而是个特化的类或者函数template(模板),如下:
template<>
class A < classB > {
//构造,析构,复制构造,赋值构造函数等
};
在template实参是classB时被使用。这就是所谓的模板全特化(total template specialization);tempalte A针对类型B特化了,而且其特化是全面性的,也就是说一旦类型参数被定义为classB时被使用,再没有其他的template参数可供变化,简而言之就是当传递过来的参数类型为classB时,这个类模板才会被调用(这块用调用不太合适,但就那个意思,理解就好)。
c++模板特化
最新推荐文章于 2025-04-20 16:59:51 发布