如果我想让某种类型专门针对其模板参数进行特化,通常会使用一个结构体:
template <bool value>
struct IsTrue;
template <>
struct IsTrue<true> : std::true_type {};
template <>
struct IsTrue<false> : std::false_type {};
一个仅通过继承获得其唯一功能的空结构并不会与
using
语句有太大的区别,因此我想知道,是否存在类似于using
语句的模板特化?以下是我需要的伪代码:template <bool value>
using IsTrue;
template <>
using IsTrue<true> = std::true_type;
template <>
using IsTrue<false> = std::false_type;
这种情况可能吗?它应该被称为什么?
using
语句那样的方式,就像typedef
一样创建了一个类型别名。 - Some programmer dude