抱歉问了这么简单的问题,但我无法轻松找到答案。谷歌没有说任何关于“C++ 否定积分常量”和类似查询的有趣内容。
C++11 中是否有任何特征使得std::true_type
from std::false_type
反之亦然?换句话说,我想要一些更具可读性的版本
std::is_same<my_static_bool, std::false_type>
我当然知道我可以自己写,但如果有的话我想使用现有的。
没有,因为它本质上是一句单行话,<type_traits>
应尽可能小。
template <typename T> using static_not = std::integral_constant<bool, !T::value>;
Usage:
static_not<my_static_bool>
这是正确的方法,因为标准总是说“false_type
或源自此类”,所以你不能依赖于等于std::false_type
。我通常将其放松为“拥有 constexpr 布尔值::value
属性”,因为我不使用标签调度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)