2014-09-26 58 views
-6

我有以下为例:三重AND(“&&&”)是如何工作的?

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

我明白了短路逻辑双重AND将如何工作,但我得到通过添加另外一个困惑,并使之三。

任何帮助表示赞赏。

+1

请将相关的语言标签添加到您的问题。 – 2014-09-26 18:05:42

+4

这是无效的C++。特别是'i-1:i-10'部分。 – 2014-09-26 18:13:05

+1

而在这种情况下,假定C++,第三个''''和前两个没有任何关系。 '&&''是逻辑AND,然后''&''是''的地址。 – aruisdante 2014-09-26 18:14:22

回答

2

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

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

单&意味着操作者或位AND运算符 双&即& &意味着逻辑AND

3

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