模板的全特化和偏特化
模板使用,对于某些特定类型,有更好的实现。
全特化
- 类
- 函数
特化版本是不需要和主模版的结构保持一致的。
偏特化
将模板中部分模板参数指定为确定的类型。函数模板没有偏特化。
类:
模板参数个数上的偏特化(偏特化默认参数的顺序,从左至右或从右至左甚至随意放置都可以)
模板参数范围上的偏特化
template<typename T1>
class Widgte{
public:
T1 m;
T2 m2;
};
template<typename T1>
class Widgte<T1*>{
public:
T1 m;
double m2;
};
特化模板类的标志就是类名后加<>。