三重ANDs(“&&&”)如何工作?

时间:2014-09-26 18:04:07

标签: c++ logic

我有以下作为例子:

C[i] = A[i] && & B[i-1 : i-10]

我理解短路逻辑双AND的工作原理,但是我加入了另一个AND来使它成为三元组而感到困惑。

任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

第三个&是一个地址运算符,它返回一个指向右侧对象的指针。由于指向现有对象的指针始终为非NULL,因此它将始终在布尔表达式中求值为true;整个表达式可以简化为(bool) A[i],并给出相同的结果。

答案 1 :(得分:2)

这不是有效的C ++语法,

B[i-1 : i-10] ??

单身&表示运算符地址或按位AND运算符 双&即&&意味着逻辑AND