为什么要用!!当将 int 转换为 bool 时?

2024-01-02

以这种方式将整数转换为布尔值的原因是什么?

bool booleanValue = !!integerValue;

而不仅仅是

bool booleanValue = integerValue;

我所知道的是,在 VC++7 中后者会导致C4800警告 http://msdn.microsoft.com/en-us/library/b6801kcy(VS.71).aspx前者不会。两者之间还有其他区别吗?


“!!”的问题惯用语是,它很简洁,很难看清,很容易被误认为是拼写错误,很容易漏掉其中一个“!”,等等。我把它放在“看看我们用 C/C++ 有多可爱”类别。

写吧bool isNonZero = (integerValue != 0);... 清楚。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么要用!!当将 int 转换为 bool 时? 的相关文章

随机推荐