可能重复:
C++ 代码中的双重否定
当我扫描 Webkit 源代码时,我发现布尔“非”运算符的一个奇怪用法!
:
BOOL enabled;
if (SUCCEEDED(sharedPreferences->continuousSpellCheckingEnabled(&enabled)))
continuousSpellCheckingEnabled = !!enabled;
if (SUCCEEDED(sharedPreferences->grammarCheckingEnabled(&enabled)))
grammarCheckingEnabled = !!enabled;
他们为什么不enabled
直接使用而不是使用!!enabled
?