コマンドライン等から
x*x+5*x+10+sin(x)
のような関数を読み込んで、
この関数を実行時に作成するような方法ってありますか。

double func(double x){
return x*x+5*x+10+sin(x);
}
↑こんなイメージの関数を実行時に作りたいと考えてます。

文字列を式として認識するようなこと自体難しいと思いますが、
それを仮にクリアしたとして、
とにかく引数を与えたときにその式の値を得る方法を知りたいです。

いい方法をご存知の方がいたら、ご教授いただきたく。