C++ - 将输入字符串作为内部代码变量进行评估

Mar*_*ark 0 c++

有没有办法将字符串作为c ++函数的输入参数并将其作为内部参数进行评估,例如结构名称或其他变量?

例如(用伪代码编写)

int myFunction(string nameStructure){ nameStructure.field = 1234 }

"带走"点是将输入字符串转换为代码中的变量.

标记

Nik*_*off 5

此类问题通常是XY问题的症状,因此首先考虑其他选项.话虽如此,C++中没有这样的默认机制,但我可以想到一个简单的解决方法 - 使用字典(std::map/ std::unordered_map)来存储所有对象:

std::map<std::string, MyAwesomeObject> objects;
...
int myFunction(std::string nameStructure)
{
    objects[nameStructure].field = 1234
}
Run Code Online (Sandbox Code Playgroud)