【发布时间】:2017-07-15 01:31:08
【问题描述】:
我是 C++ 新手,我想了解一段用 C++ 编写的代码,这里 px 是一个整数,请告诉我,如果以下行是
做类似if 声明的事情。是说如果pos.x 等于residues[n-1] 把它放在px 中,反之亦然?
px = (res->pos.x == residues[n-1]->pos.x) & (res->pos.x == residues[n+1]->pos.x);
非常感谢您的帮助
【问题讨论】:
-
表达的哪一部分不明白?
-
它所做的是在两个条件下进行 AND。如果 pos.x 在两个测试中的结果和残差都不同,则 px 将为 1 或 0。
-
如果
res->pos.x等于residues[n-1]->pos.x并且 也等于residues[n+1]->pos.x,px将为真。在这种特殊情况下,&将产生与&&相同的结果。