有没有办法将字符串作为c ++函数的输入参数并将其作为内部参数进行评估,例如结构名称或其他变量?
例如(用伪代码编写)
int myFunction(string nameStructure){
nameStructure.field = 1234
}
"带走"点是将输入字符串转换为代码中的变量.
标记
此类问题通常是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)