2012-11-09 32 views
-2

可能重复:
Is there any kind of “expression class” (C++)如何用运行时定义的数学函数创建类?

我要作出这样认为,在运行时定义的函数的类。 即

function function1("x*sin(3.141*x)"); 

我想要做这样的事情找到根源,它会更好,不必每次都重写程序。

编辑:我在看lua。

+2

你的意思是你要评估一个包含C++表达式的字符串?你的问题目前还不太清楚...... – Ryan

+0

根据你实际要求的内容,你可能对[muParser](http://muparser.beltoforion.de/)感兴趣。 – DSM

+0

是的,我想从用户那里获取一个字符串并将其存储在一个类中,然后像数学表达式那样使用它。什么是不清楚的,所以我可以纠正它? – user1750289

回答

0

这个东西在动态语言中肯定容易得多。例如,在Matlab中,您可以使用eval命令评估字符串。

但是,在C++中这不是不可能的。您可以使用C++11 lambdas和自定义解释器的组合来制作一个很好的解决方案。成员函数可以将lambda作为参数,并且可以通过解释字符串来制定lambda表达式。

这个答案可能会给你一个挑战解释部分的好起点。

Evaluate Mathematical Function from String