用这种方式将整数转换为 boolean 值的原因可能是什么?

bool booleanValue = !!integerValue;

而不只是
bool booleanValue = integerValue;

我所知道的是,在VC++ 7中,后者将导致C4800 warning ,而前者则不会。两者之间还有其他区别吗?

最佳答案

与“!”的问题成语是简洁,难以看清,容易将错字误认为,容易丢掉“!”之一等等。我把它放在“看起来我们在C/C++中能有多可爱”类别。

只需编写bool isNonZero = (integerValue != 0); ...即可。

10-08 01:43