gpt4 book ai didi

c++ - 如何在 C/C++ 中实现条件?

转载 作者:太空狗 更新时间:2023-10-29 23:36:21 25 4
gpt4 key购买 nike

我很想知道 C/C++ 或其他编程语言如何实现诸如“if”之类的条件语句。

因此,如果我用以下两种方式编写 if 语句,在计算成本方面会有什么不同:

方法一:

if(statement1)
return true;
if(statement2)
return true;
if(statement3)
return true;

方式二:

if(statement1 || statement2 || statement3)
return true;

在第二种方式中,是先评估所有语句,然后对它们的结果应用 OR 运算,还是首先考虑 OR 运算,然后一旦任何语句评估为真,则真值应为回到?后者通过不必评估条件中的每个语句来节省计算成本/时间,因为一旦它获得第一个 true,工作就完成了。但这取决于条件语句中的操作。如果是 AND,则完全不同。组合运算(AND+OR+XOR..)让事情变得更复杂

那么后面到底是怎么做的呢?实现是否可能依赖于条件中的 bool 运算?

最佳答案

I am curious to know how a conditional statement such as an "if" is implemented in C/C++ or other programming languages.

这取决于您计算机的汇编语言。例如,对于 x86 指令列表,指令 CMP 将设置一个标志,该标志由 J** (JNE, JA, ...)。

这通常是“实现”条件的方式。

In the second way, will all the statements be first evaluated and then the OR operation applied upon their results or will the OR operation be first taken into cognizance and then as soon as any statement evaluates to true, the true value shall be returned?

在 C 中,&&|| 二元运算符使用短路求值。也就是说,在 E1 || E2,如果E1为真,则E2不被求值。

关于c++ - 如何在 C/C++ 中实现条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com