5
我知道这不是一个非常尖锐的问题。是否有优势(编译时间,依赖关系,调试符号大小,可用性,可读性等)使用一个优先?继承自std :: true_type vs static constexpr const布尔成员
template < typename T >
struct IsSharedPtr : std::false_type
{
};
VS
template < typename T >
struct IsSharedPtr
{
static constexpr bool value = false;
};
一个相关的问题...
template < typename T, typename Enabler >
struct S;
template < typename T >
struct S < T, std::true_type >{};
template < typename T >
struct S < T, std::false_type >{};
VS
template < typename T, bool enabler >
struct S;
template < typename T >
struct S < T, true >{};
template < typename T >
struct S < T, false >{};
注意你也可以派遣上第二个模板参数,这可能是有点严格,因为类型(特征)转换不涉及选择功能。 – rubenvb