c++ - 如何将条件文本转换为“if”条件表达式?
问题描述
我正在尝试用 Visual C++ 编写将条件文本转换为带有算术运算符和括号的简单“if”条件表达式。
例如:文本:“(((a+b)>0)or(c==10))and(d!=e))”或“(a>b)xor(c==d)”等...
我们通常采用 C++ 风格:
int a,b,c,d,e;
...
...
char text[]="(((a+b)>0)or(c==10))and(d!=e))";
if(text_to_if(text)) { .... }
...
...
文本中的字母 a、b、c、d、e 对应于现有的整数或浮点变量。
解决方案
请注意,C++ 不是解释型语言。您不能在运行时更改代码,包括 if 语句。如果您想要运行时代码评估,您可以尝试使用 JavaScript 及其eval()
功能1 .
此外,您将无法从代码中检索变量名称(调试目的除外)。
推荐阅读
- shell - 在大文件的每一行中提取唯一值的脚本
- reactjs - reactjs在开发中设置base-href
- php - 如何从 magento 2 中删除沉默错误是不鼓励的错误?
- reactjs - ReactJS + Apollo 客户端 CORS 问题
- android - 一旦在 Firebase 中更改了子值,有什么方法可以防止 onCreate 调用?
- ansible - 如何使用ansible有条件地复制文件?
- apache - 如何比较两个网页是否具有相同的布局和内容?
- c++ - 如何在 int 所持有的次数内不断地请求用户输入?
- python-3.x - 在同一会话中进行测试时,Tensorflow 是使用最佳权重还是最近的权重?
- tsql - 查找付款被退回的客户 nsf