有必要通过完整的模板专业化来获得该类型的一些标识符。
template<typename T> struct ids;
template<> struct ids<int> { static const int id = 1; };
template<> struct ids<float> { static const int id = 2; };
是否可以为任何通过约束的类型专门化模板std::is_class
?我不太明白如何正确地做到这一点。认为它应该看起来像这样:
template<typename T, typename = typename std::enable_if<std::is_class<A>::value>>
struct ids { static const int id = 3 };