gpt4 book ai didi

c++ - 有条件的 if 与 OR 检查所有条件

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:16:22 26 4
gpt4 key购买 nike

如果有这样的if block

if(foo() || foo2() || foo3())
{
//do some things
}

我只需要一个 foo 函数返回 true 来执行该代码。但我必须给他们所有人打电话。当第一个 foo 返回 true 时,问题就开始了。这样就不会调用其余的 foo(foo2 和 foo3)。

我知道我可以这样做:

bool foo1 = foo1();
bool foo2 = foo2();
bool foo3 = foo3();

if(foo1 || foo2 || foo3) {}

但是我有 18 个 foo 函数,这在我的代码的几个部分中。有什么技巧可以做到又短又简单吗?

最佳答案

|| 运算符短路。您可以使用 | 代替:

if (foo1() | foo2() | foo3()) {}

但是您还应该考虑制作一个函数指针数组并在循环中调用它们。

and this is in few parts of my code

您应该重构您的代码以便可以重用它,而不是在许多地方复制和粘贴相同的代码。

关于c++ - 有条件的 if 与 OR 检查所有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11197826/

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