我正在用C++阅读这段代码
http://ajmarin.alwaysdata.net/codes/problems/952/,我不理解代码中的&=
的作用:
int k = 5;
int ts = 5;
bool possible = true;
它具有这一行:
if(!(possible &= k == ts))
break;
我想知道
"&="
的含义是什么,我是C++语言的新手,但我从未在Java中见过类似的内容,或者至少我不知道含义。由于(
"1"
)即(k == ts
)但左手(5 == 5
)不知道含义,因此该语句的右手返回possible &= k
。谢谢
最佳答案
&=是Bitwise AND,将结果分配给lhs(a&= b => a = a&b)。 (例如+ =)
它将执行逻辑AND,并将结果分配给可能。
由于Operator precedence,表达式将类似于:possible &= (k == ts)
。
这意味着它将撤消(k == ts)
生成一个 bool(boolean) 值,进行逻辑处理并使用possible
,将其存储在possible
中并作为结果返回。
关于c++ - C++中比较器语句的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23590934/