存储表达式的最佳实践

时间:2013-11-27 04:36:59

标签: c++

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

例如:

2 30 + 5 *

将存储为

"2 30 + 5 *"

但是,这会导致使用

从字符串中提取时出现的问题
string tk;
string expr;
stringstream e(expr);
e >> tk;

如果有任何遗漏空间,“2 30+ 5 *”,错误处理部分会有些分散注意力。有没有更好的方法呢?

感谢。

1 个答案:

答案 0 :(得分:0)

无论你需要将表达式分解为其部分(tokenize),先执行此操作然后存储标记的数组/向量。