存储表达式的最佳实践
Best Practices for Storing an Expression
我正在尝试将表达式(运算符和操作数)存储在容器中。我能想到的最好的实现是将它们存储在字符串中。
例如:
2 30 + 5 *
将存储为
"2 30 + 5 *"
然而,这导致了一个问题,即当使用从字符串中提取时
string tk;
string expr;
stringstream e(expr);
e >> tk;
如果有任何遗漏的空格,"230+5*",错误处理部分将是某种分散注意力的部分。有更好的方法吗?
谢谢。
无论您需要将表达式分解为多个部分(标记化),都要先这样做,然后存储标记的数组/向量。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- (C++)分析树以计算返回错误值的简单算术表达式
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 提升精神:解析布尔表达式并简化为规范范式
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 在c代码之间共享数据的最佳方式
- 使用std::source_location报告错误的最佳实践
- 使用正则表达式regex_search在字符串中查找字符串
- 派生类销毁的最佳实践是什么
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 概念中的cv限定符需要表达式参数列表
- 为什么constexpr的性能比正常表达式差
- 对于结构,表达式必须是可修改的ivalue
- 将寄存器设计成可由C和C++访问的外设的最佳实践
- 当一个值是非常量但用常量表达式初始化时使用constexpr
- 将fold表达式与std::一起用于两个元组
- 实现基于数字值(正、负、零)的条件表达式的最佳方法
- 存储表达式的最佳实践