我想知道是否可能,例如阅读包含以下内容的文件:
A + B * C
并且我的程序“创建”一个函数来执行此操作,如果我修改文件(如+ b * c + 2),程序将读取此更改并更新此函数的功能。好吧,我没有在C ++的基础上有一个坚实的背景,我不知道我问的是不是简单的愚蠢。我需要(或类似的东西可能很好)我在物理模拟中的工作,其中模型主要由均衡函数(和一些其他参数)定义,所以我认为如果我可以制作一个程序,那可能是好的测试这个模型而不必为每个模型写一个特殊的代码...
谢谢!
答案 0 :(得分:0)
C ++不是解释代码。因此,您只能在源代码中编译硬编码表达式。但是,您可以自己评估表达式。您可以查看一些解决方案here
答案 1 :(得分:0)
肯定它是"可能",实际上是matlab,mapple或任何其他正式计算软件/ lib所做的。 顺便说一句,如果你只处理* / + - 基本运算符,写一个可能会非常简单,并且可能会变得越来越复杂,这取决于你想要使用什么(sin cos,exp,log等)。
基本实现读取输入并构建一个内部树,其中叶子上的最终值在您的情况下看起来像这样:
+
a *
b c
我确定你可以找到很多文档。