假设我有以下函数并且想比较作为变量的 field
和作为值的 value
。我该怎么做?
bool ReadFile::compareField(string field, string value)
{
if (field == "value")
}
最佳答案
如果您在谈论 C++,那么答案是:您不能。变量是编译时的东西;它们在运行时不存在。
如果您想以字符串形式访问参数,那么您可以考虑使用例如一个 std::map
:
class MyClass
{
private:
std::map<std::string, int> params;
public:
MyClass()
{
params["height"] = 165;
params["weight"] = 65;
params["legs"] = 2;
}
int getParam(const std::string &str) const
{
return params[str];
}
};
关于c++ - 如何使用字符串名称而不是变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8544497/