重複の可能性:
「式クラス」はありますか (C++)
実行時に定義される関数を保持するクラスを作成したいと考えています。すなわち
function function1("x*sin(3.141*x)");
根を見つけるようなことをしたいのですが、毎回プログラムを書き直さなくて済むようにしたいです。
編集:luaを見ています。
重複の可能性:
「式クラス」はありますか (C++)
実行時に定義される関数を保持するクラスを作成したいと考えています。すなわち
function function1("x*sin(3.141*x)");
根を見つけるようなことをしたいのですが、毎回プログラムを書き直さなくて済むようにしたいです。
編集:luaを見ています。
このことは、動的言語では確かにはるかに簡単です。たとえば、Matlabでは、eval
コマンドを使用して文字列を評価できます。
ただし、これはC++では不可能ではありません。C++11ラムダとカスタムインタープリターを組み合わせて優れたソリューションを作成できる可能性があります。メンバー関数はラムダを引数として取ることができ、文字列を解釈することでラムダを定式化できます。
この答えは、チャレンジの解釈部分の良い出発点になるかもしれません。