gpt4 book ai didi

c++ if (func1() && func2()), func1 必须在 func2 之前调用吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:48:23 25 4
gpt4 key购买 nike

在 C++ 中,如果我编写以下 if 语句。潜在的问题是什么?行为是否明确?谢谢。

int i = 0;
// func1 will return the updated value for i.
// func2 will use the new value of i.
if (func1(i) && func2(i)) { ...}

或者&&可以改成||,这样调用还好吗?

最佳答案

是的,&&|| 的第一个操作数总是先求值。

第二个操作数仅在需要时根据第一个操作数的值进行计算;这有时称为短路。对于 &&,只有第一个为真时才会调用;对于 ||,仅当第一个为 false 时。

关于c++ if (func1() && func2()), func1 必须在 func2 之前调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28027059/

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