如果有字符串:
std::string a = "{0.0, 1.0, 2.0, 3.0}";
如何将其转换为b(double *)a?像这样:
double *b = {0.0, 1.0, 2.0, 3.0};
我正在寻找一些提供文字评估的功能,而不是循环访问字符串等内容。
答案 0 :(得分:4)
在C ++中没有等效的内置eval()
。造成这种情况的原因很多,但最简单的是C ++是一种编译语言。因此,代码是由编译器而不是运行时解析的。为了添加类似eval()
的函数,在运行时还需要包含解析器,这将大大增加其大小。
如果您实际上需要解析有效的C ++表达式,可以使用一些库来实现。