我有以下作为例子:
C[i] = A[i] && & B[i-1 : i-10]
我理解短路逻辑双AND的工作原理,但是我加入了另一个AND来使它成为三元组而感到困惑。
任何帮助表示赞赏。
答案 0 :(得分:3)
第三个&
是一个地址运算符,它返回一个指向右侧对象的指针。由于指向现有对象的指针始终为非NULL,因此它将始终在布尔表达式中求值为true
;整个表达式可以简化为(bool) A[i]
,并给出相同的结果。
答案 1 :(得分:2)
这不是有效的C ++语法,
B[i-1 : i-10] ??
单身&表示运算符地址或按位AND运算符 双&即&&意味着逻辑AND