C++

c++ 模板

Posted by infinityyf on August 3, 2020

1.类模板的特化与偏特化

首先给出模板的原型

template <typename T> class AddFloatOrMulInt
{
    static T Do(T a, T b)
    {
        return T(0);
    }
};

再指定T为int时执行的代码(模板的一个特化)

template <> class AddFloatOrMulInt<int>
{
public:
    static int Do(int a, int b) // 
    {
        return a * b;
    }
};

需要注意的是,类模板的原型和特化之间不是继承关系,特化模板并不具有原型的属性。
### 1.1如何匹配任意类型的指针,并且保留类型信息