gpt4 book ai didi

c++如果满足所有条件

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

有什么方法可以检查是否满足所有条件?例如:

if(num[i] > (*all*)alt[c])
{
}

而不是这样做

if(num[i] > alt[1] && num[i] > alt[2] && num[i] > alt[3])
{
}

有没有更短的路?

最佳答案

您可以使用合适的辅助函数来有效地调用其中一种算法,例如:

 if (is_bigger(num[i], alts)) {
// ...
}

其中函数 is_bigger() 只是在合适的条件下使用 std::all_of():

template <typename T, typename Sequence>
bool is_bigger(T const& test, Sequence const& alts) {
return std::all_of(alts.begin(), alts.end(),
[&](T const& other){ return test > other; });
}

all_of() 是一种简单的算法,它将谓词应用于由开始和结束迭代器分隔的序列中的所有元素(alts.begin()alts.end()).此函数中的另一件事是创建相应谓词的简单 lambda 表达式。

关于c++如果满足所有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556129/

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