填写差异C++ ==

Rus*_* F. -7 c++ equality operators

我们要表达
if ((option & SERVER_OPTIONS::VALUE) == SERVER_OPTIONS::VALUE) ...

if ( option & SERVER_OPTIONS::VALUE == SERVER_OPTIONS::VALUE )...
Run Code Online (Sandbox Code Playgroud)

为什么相同的值option有不同的结果?

Bot*_*000 13

C++运算符优先级表明之前==之前!=的计算.所以你的第二个语句被评估为如下: &

if (option & (SERVER_OPTIONS::VALUE == SERVER_OPTIONS::VALUE))
Run Code Online (Sandbox Code Playgroud)