gpt4 book ai didi

c++ - 如何将 Scala 函数转换为 C++ 中的参数?

转载 作者:行者123 更新时间:2023-11-30 05:19:53 24 4
gpt4 key购买 nike

所以我想用 c++ 实现函数式编程,就像在 scala 中一样。

假设我在 scala 中有这个代码片段:

def exampleA(l: List[P], f: P => Option[P]): Option[P] = l match {
case Nil => None
case x :: l => val a = f(x); if ( a.notDefined ) exampleA(l, f) else a
}

它接受P的列表, a function as parameter 。它将返回列表中的第一个元素。

现在我想在 C++ 中采用相同的方法,但我已经很困惑,因为没有关于调用函数作为参数的信息。

这就是我目前所拥有的:

typedef vector<pair<int,int> > P;

P exampleB( P (*f)(int,Path) ) {
cout << (*f)->first << endl;
}


P exampleBA(int dim, Path path) {
exampleB(exampleBA);
}

我想访问 first 内对的元素 P 里面 example() 方法。

我该怎么做?

最佳答案

关于c++ - 如何将 Scala 函数转换为 C++ 中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40948223/

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