-2
可能重复:
Is there any kind of “expression class” (C++)如何用运行时定义的数学函数创建类?
我要作出这样认为,在运行时定义的函数的类。 即
function function1("x*sin(3.141*x)");
我想要做这样的事情找到根源,它会更好,不必每次都重写程序。
编辑:我在看lua。
可能重复:
Is there any kind of “expression class” (C++)如何用运行时定义的数学函数创建类?
我要作出这样认为,在运行时定义的函数的类。 即
function function1("x*sin(3.141*x)");
我想要做这样的事情找到根源,它会更好,不必每次都重写程序。
编辑:我在看lua。
这个东西在动态语言中肯定容易得多。例如,在Matlab中,您可以使用eval
命令评估字符串。
但是,在C++中这不是不可能的。您可以使用C++11 lambdas和自定义解释器的组合来制作一个很好的解决方案。成员函数可以将lambda作为参数,并且可以通过解释字符串来制定lambda表达式。
这个答案可能会给你一个挑战解释部分的好起点。
你的意思是你要评估一个包含C++表达式的字符串?你的问题目前还不太清楚...... – Ryan
根据你实际要求的内容,你可能对[muParser](http://muparser.beltoforion.de/)感兴趣。 – DSM
是的,我想从用户那里获取一个字符串并将其存储在一个类中,然后像数学表达式那样使用它。什么是不清楚的,所以我可以纠正它? – user1750289