我有c ++ std :: map对象,如
std::map<std::string, int> data = {{"a",1},{"b",2}};
我有一个字符串表达式由此映射中的键组成:
"(a%2)+2*((b-2)%2)"
我想要做的就是计算这个表达式的值,返回类型应该是int
。有没有办法做到这一点?也许boost
包可能会有所帮助。
答案 0 :(得分:4)
ExprTk似乎就是您要找的,看似简单易用,只需要#include "exprtk.hpp"
。
可以使用boost
完成此操作,如answers to this question中所示。