这两天在饮水思源的C板,关于C++模板的类型转换的一个讨论,后面是我的解答。
原问题
今天在书上看到模板演绎的时候可以允许cast-down,于是我写了个东西:
template <bool _Test, class _Type = void>
struct enable_if { };
template<class _Type>
struct enable_if<true, _Type> {
typedef _Type type;
};
class A { };
class B : A { };
template <typename T>
struct …