如何将表达式转换为变量

How to convert / evaluate an expression into a variable

本文关键字:变量 转换 表达式      更新时间:2023-10-16

如果有字符串:

std::string a = "{0.0, 1.0, 2.0, 3.0}";

如何将其转换为s(double*(a?类似:

double *b = {0.0, 1.0, 2.0, 3.0};

我正在寻找一些提供字面评估的功能,而不是通过字符串的内容等循环。

C 中没有内置的eval()等效。这样做的原因很多,但最简单的是C 是一种编译语言。因此,代码由编译器而不是运行时解析。为了添加 eval() -like函数,解析器还需要包含在运行时,这将大大增加其大小。

如果您实际上需要解析有效的C 表达式,则可以使用一些库来做到这一点。