和 之间的区别(& 符号)和 &&或 | (管道) 和 || 在 Objective-C 中?
我想知道 Objective-C 是否关心我是否写 &或&&?我相信一个与号(&)会或应该导致如果左侧已经为假,则不会评估右侧。
这适用于 Objective-C 吗?
I wonder if Objective-C does care about whether I write & or &&? I believe one ampersand (&) would or should cause that if the LEFT side is already false, then the right side won't be evaluated.
Does this apply to Objective-C?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的。 运算符在 C 和 Objective-C 中的功能相同。
就像在 C(或 C++,如果您使用的是 Objective-C++)中一样,
&
和|
是按位的,而&&
> 和||
是逻辑的(并且短路)。按位运算符(&
和|
)不是短路。请参阅C 和 C++ 中的运算符
Yes. The operators function identically in C and Objective-C.
Just like in C (or C++, if you're using Objective-C++)
&
and|
are bit-wise and&&
and||
are logical (and short-circuit). Bit-wise operators (&
and|
) are not short-circuit.See Operators in C and C++
Objective-C 使用 C 位运算符和逻辑运算符(& 是按位运算符,&& 是逻辑运算符)。单曲&将评估两个表达式。
Objective-C uses the C bitwise and logical operators (& is bitwise and && is logical). The single & will evaluate both expressions.