什么是特化?
没有特化的C++模版中,不管传入参数是什么类型,都是一样的处理方式。但是当我们需要针对某个特定的类型做特殊的处理的时候,这个时候就需要用到特化了。
全特化
我们可以将某一个类或某一个函数单独拿出来特化。
举个例子:
template <class T>
class Vector {
public:
Vector() {
}
private:
size_t _size;
size_t _capacity;
T* _data;
};
template <>
class Vector<char> {
public:
Vector()
{
printf("special definition\n"