使用String作为变量名称(C ++)

时间:2016-07-30 17:00:54

标签: c++ settings

假设我有一个名为“Volume”的变量,例如。我现在有一个包含设置的文件。每个设置都如下所示:“: 我现在从上到下遍历这个文件,我希望程序将变量中的Setting设置为具有相同名称。

e.G。如果有“Volume:76”,我希望程序将“76”写入变量“Volume”。如何使程序只通过字符串获得正确的变量?这甚至可能吗?

还没有代码,因为我还没有开始工作。我正在考虑它。

1 个答案:

答案 0 :(得分:4)

您不能直接使用变量,因为名称必须在编译时存在,但读取文件是运行时。

你可以使用std :: map。每个设置都是一个键,值将被读入。

std::map<std::string, std::string> settings;
settings["volume"] = "76";

但是,值(本例中为“76”)也是字符串。您不能直接使用不同的类型。 我认为,它可以用类型擦除,但那确实很先进(并且我不能流利!)。