C++执行机制疑问:逻辑与表达式中条件1为假时是否检查条件2?
C++逻辑与操作的短路求值特性
在C++里,and是逻辑与运算符&&的等价替代关键字,两者行为完全相同,遵循短路求值的规则:
- 当
condition1判定为假时,程序会直接返回false,不会再去计算condition2。 - 只有当
condition1为真时,才会继续判断condition2的真假。
举个实际代码例子验证:
int a = 0; if (a != 0 and ++a > 0) { // 此代码块永远不会执行 } // 执行后a的值仍然是0,说明++a从未被执行过
内容的提问来源于stack exchange,提问作者Mridu Pawan
相关产品推荐
相关产品推荐

