我正在用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/

10-08 22:54