1

可能重复:
C/C++ 中是否强制要求短路布尔运算符?和评价顺序?

在研究 iOS 问题时,我找到了以下答案:如何判断 UIViewController 的视图是否可见

答案的细节并不重要,但重要的是它基本上说如果你有一个看起来像下面这样的条件语句......

if(X && Y)
{
    //do stuff here
}

如果 X 为假,则永远不会评估 Y。这是真的?可以确定编译器不会优化它if(Y && X)吗?

4

1 回答 1

6

如果 X 为 false,它将返回 false 并且不会评估 Y。这是一种优化。

于 2012-11-12T14:38:48.043 回答