我正在尝试将表达式(运算符和操作数)存储在容器中。我能想到的最好的实现是将它们存储在一个字符串中。
例如:
2 30 + 5 *
将存储为
"2 30 + 5 *"
但是,这会导致使用
从字符串中提取时出现的问题string tk;
string expr;
stringstream e(expr);
e >> tk;
如果有任何遗漏空间,“2 30+ 5 *”,错误处理部分会有些分散注意力。有没有更好的方法呢?
感谢。
答案 0 :(得分:0)
无论你需要将表达式分解为其部分(tokenize),先执行此操作然后存储标记的数组/向量。