用这种方式将整数转换为 boolean 值的原因可能是什么?
bool booleanValue = !!integerValue;
而不只是
bool booleanValue = integerValue;
我所知道的是,在VC++ 7中,后者将导致C4800 warning ,而前者则不会。两者之间还有其他区别吗?
最佳答案
与“!”的问题成语是简洁,难以看清,容易将错字误认为,容易丢掉“!”之一等等。我把它放在“看起来我们在C/C++中能有多可爱”类别。
只需编写bool isNonZero = (integerValue != 0);
...即可。