1
私は関数型プログラミングをC++で実装したいと思っています。C++でスカラー関数をパラメータとして変換する方法は?
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
:
は、だから私はScalaで、このコードスニペットを持って言うことができます。リストの最初の要素を返します。
私は同じ方法で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);
}
私はexample()
メソッド内P
内のペアのfirst
要素にアクセスしたいと思います。
どうすればいいですか?
。彼らは異なる獣であり、あなたのコードがC++のプログラマーによって使用されている場合、彼らはちょっと混乱します。あなたが知っているのは...ローマにいるとき、ローマ人は何をするのか。 –