可能的重复项:
C/C++ 中是否强制要求短路布尔运算符?和评估顺序?
在研究iOS问题时,我发现了以下答案:如何判断UIViewController的视图是否可见
答案的细节并不重要,但重要的是它基本上是说,如果你有一个看起来像下面的条件语句......
if(X && Y)
{
//do stuff here
}
如果 X 为假,则永远不会评估 Y。 这是真的吗? 可以确定编译器不会对其进行优化以if(Y && X)
吗?
如果 X 为 false,它将返回 false,并且不会计算 Y。这是一种优化。