以这种方式将整数转换为布尔值的原因是什么?
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(使用前将#替换为@)