【问题标题】:How triple ANDs ("&& &") work? [closed]三重与(“&& &”)如何工作? [关闭]
【发布时间】:2014-11-21 19:49:51
【问题描述】:

我举个例子:

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

我了解短路逻辑双 AND 的工作原理,但我因为添加另一个 AND 使其成为三倍而感到困惑。

任何帮助表示赞赏。

【问题讨论】:

  • 请在您的问题中添加相关语言标签。
  • 这不是有效的 C++。 i-1 : i-10 部分,特别是。
  • 并且,在这种情况下假设 C++,第三个 & 与前两个无关。 && 是逻辑与,然后& 是“地址”。

标签: c++ logic


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    单个 & 表示地址运算符或按位与运算符 双 & 即 && 表示逻辑与

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多