私は任意の関数を可能にするために書いたいくつかの数学的コードを調整しようとしていますが、コンパイル時にあらかじめ定義しておくだけです。私は現在、関数ポインタを使用していますが、同じ問題がファンクタで発生することがわかります。単純な例を提供するために、前方差分分化のために使用されるコードである:最初の2つの関数のいずれかが3番目の引数として渡すことができる実行時にC++関数を定義する
double xsquared(double x) {
return x*x;
}
double expx(double x) {
return exp(x);
}
double forward(double x, double h, double (*af)(double)) {
double answer = (af(x+h)-af(x))/h;
return answer;
}
。しかし、私がしたいのは、あらかじめ関数を設定する必要がなく、ユーザー入力を渡すことです(有効なC++で)。どんな助けでも大歓迎です!
だから、あなたは完全に機能するC++コンパイラを構築したいですか? Erm ...これはStack Overflowの範囲をはるかに超えていると私は思う。 –
C++はスクリプト言語ではありません... lua、tcl、pythonなどと統合しようとする可能性があります –
あなたは間違った言語を使用しています。 (C++ 0xはクロージャーを持っていますが、それでもやっかいです。) – delnan