【问题标题】:Difference between & (ampersand) and && or | (pipe) and || in Objective-C?& (&) 和 && or | 之间的区别(管道)和||在Objective-C中?
【发布时间】:2010-11-21 19:37:21
【问题描述】:

我想知道 Objective-C 是否关心我是写 & 还是 &&?我相信一个&符号(&)会或应该导致如果左侧已经为假,那么右侧将不会被评估。

这适用于 Objective-C 吗?

【问题讨论】:

    标签: objective-c syntax operators


    【解决方案1】:

    是的。运算符在 C 和 Objective-C 中的功能相同。

    就像在 C(或 C++,如果你使用 Objective-C++)中一样,&| 是按位的,&&|| 是逻辑的(和短路的)。按位运算符(&|不是短路的。

    Operators in C and C++

    【讨论】:

    • 所以我弄错了。当左侧已经为假时, && 不会评估右侧,但是 & 无论如何都会评估两者。对吗?
    • 并且 && 有一个布尔结果,而 & 没有。
    【解决方案2】:

    Objective-C 使用 C 的按位和逻辑运算符(& 是按位的,&& 是逻辑的)。单个 & 将评估两个表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      相关资源
      最近更新 更多