【发布时间】:2020-06-25 22:42:57
【问题描述】:
让我们假设一个带有两个条件 A 和 B 的简单 If 语句:
If ( condA && condB)
所有编译器的序列都相同吗?
- 条件 A
- 条件 B
如果条件 A 已经为假,那么条件 B 的执行是否是可选的?
【问题讨论】:
-
不是可选的——如果 A 为假,那么 B 肯定不会被执行
标签: c++ if-statement multiple-conditions
让我们假设一个带有两个条件 A 和 B 的简单 If 语句:
If ( condA && condB)
所有编译器的序列都相同吗?
如果条件 A 已经为假,那么条件 B 的执行是否是可选的?
【问题讨论】:
标签: c++ if-statement multiple-conditions
是的。如果 A 为假,则不评估条件 B 称为短路逻辑,这种行为由语言规范保证。
【讨论】: