检测类的类型

时间:2010-11-06 20:24:12

标签: c++ metaprogramming

是否可以检测某个类是否属于某种类型?

1 个答案:

答案 0 :(得分:3)

是:

template <typename T, typename U>
struct is_same
{
    static const bool value = false;
};


template <typename T>
struct is_same<T, T>
{
    static const bool value = true;
};

is_same<int, float>::value; // false
is_same<int, int>::value; // true

这些被称为类型特征,你可以在Boost.TypeTraits和C ++ 0x中找到它们中的大部分。