gpt4 book ai didi

java - Java 谓词的 C/C++ 等价物

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

Java 中有Predicate 类的C/C++ 等效结构/类吗?

具体来说,我有一个非常简单的 Java 代码,如下所示。

import java.util.function.Predicate;
public class JavaPredicates {
public static void main(String[] args) {
Predicate<String> i = (s)-> s.equals("ABCD");
Predicate<String> j = (s)-> s.equals("EFGH");
Predicate<String> k = (s)-> s.equals("IJKL");
Predicate<String> l = (s)-> s.equals("MNOP");
Predicate<String> m = (s)-> s.equals("QRST");
Predicate<String> n = (s)-> s.equals("UVWYZ");

System.out.println(i.or(j).or(k).or(l).or(m).or(n).test("ABCD"));
}
}

我想用 C 或 C++ 实现相同的程序。是否有默认方式或外部库来执行此操作?

最佳答案

C++ 的 lambda 看起来与您正在使用的 java 构造非常相似:

auto i = [](string const & s){return s == "ABCD";}

它没有内置链接,但概念相似 - 一个内联定义的函数。您可以使用 C++ 逻辑结构将 lambda 组合成您想要的任何结构——甚至可以使用 lambda 来完成。

auto final_check = [i,j,k,l,m,n](string const & s){return i(s) || j(s) || k(s).....};

关于java - Java 谓词的 C/C++ 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39988975/

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