c – 否定std :: integral_constant

很抱歉问这么简单的问题,但我找不到答案.谷歌没有说“C negation integral_constant”和类似的查询.

在C 11中是否存在从std :: false_type生成std :: true_type的任何特征,反之亦然?换句话说,我想要更多的readeble版本

std::is_same<my_static_bool,std::false_type>

我当然知道我可以自己写,但如果有的话,我想用现有的.

解决方法

没有,因为它基本上是一个单行而且< type_traits>应该尽可能小.

template <typename T> using static_not = std::integral_constant<bool,!T::value>;

用法

static_not<my_static_bool>

这是正确的方法,因为标准总是说“false_type或从中派生”,所以你不能依赖于等于std :: false_type.我经常放松“有一个constexpr boolean :: value属性”因为我不使用标签调度.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...