這兩天在飲水思源的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 …