循环中条件的顺序
Order of conditions in a loop
While (condition-1 && condition-2) {
// Do something
}
假设如果条件1失败,条件2可能会导致分段错误。那么,当条件1在检查条件2之前失败时,循环是否立即退出,或者它是否检查条件2,从而使这种做法不安全?
示例:Condition-1可以是'Node* temp != 0', condition-2可以是'temp->next != int i'
如果condition-1
是false
,那么没有理由检查其他条件,因为false && anything
仍然是false
。这被称为短路评估。
反过来,如果我们有
While (condition-1 || condition-2) {
// Do something
}
和condition-1 == true
,那么我们将永远不会检查condition-2
,因为true || anything
仍然为真。
考虑到您使用的是&&
操作数,将永远不会检查第二个条件,因为集合条件不可能为真。
&&
是一个条件语句,将检查第一个条件,如果它为真,将检查第二个条件。但如果它为假,它将退出循环而不检查第二个条件。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- CMake-按正确顺序将项目与C运行时对象文件链接
- 函数调用中参数的顺序重要吗
- 为什么不;名字在地图上是按顺序排列的吗
- 在没有太多条件句的情况下,我如何避免被零除
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 数到第n个楼梯的路(顺序无关紧要)
- 基于多个条件处理地图中的所有元素
- 条件constexpr函数
- 无论条件是否为true,if总是在c++中执行
- 优先顺序:智能指针和类析构函数
- 给定条件如何保持发生顺序
- 是否可以使用松弛的内存顺序来观察条件?
- placeNumbers应该返回数字的顺序,以便满足布尔值向量中编码的条件
- C++嵌套的条件运算符计算顺序
- 存在多个条件时"IF"语句中的执行顺序
- C++:同时避免静态初始化顺序问题和竞争条件
- 循环中条件的顺序
- 子句内多个条件"if"求值顺序
- C++:使用互斥锁和条件变量控制线程执行顺序