存储表达式的最佳实践

Best Practices for Storing an Expression

本文关键字:最佳 表达式 存储      更新时间:2023-10-16

我正在尝试将表达式(运算符和操作数)存储在容器中。我能想到的最好的实现是将它们存储在字符串中。

例如:

2 30 + 5 *

将存储为

"2 30 + 5 *"

然而,这导致了一个问题,即当使用从字符串中提取时

string tk;
string expr;
stringstream e(expr);
e >> tk;

如果有任何遗漏的空格,"230+5*",错误处理部分将是某种分散注意力的部分。有更好的方法吗?

谢谢。

无论您需要将表达式分解为多个部分(标记化),都要先这样做,然后存储标记的数组/向量。