可能性の重複:私はWebkitのソースコードをスキャンし
Double Negation in C++ codeなぜ2つの '!'ブール値の演算子?
が、私はブールの奇妙な使用を発見した "ない" 演算子!
:
BOOL enabled;
if (SUCCEEDED(sharedPreferences->continuousSpellCheckingEnabled(&enabled)))
continuousSpellCheckingEnabled = !!enabled;
if (SUCCEEDED(sharedPreferences->grammarCheckingEnabled(&enabled)))
grammarCheckingEnabled = !!enabled;
なぜ!!enabled
の代わりにenabled
を直接使用しないでください。
ここでは明示的に言及していませんが、 'BOOL'はある種の整数である可能性が高いです。 'SUCCEEDED 'と判断して、私はwinapiを想定しています。これは' int'です。 – chris