如何修改用户指定的变量?

时间:2019-09-18 14:24:43

标签: c++ c++11

我希望能够根据用户输入来更改变量,但是我不想使用if / else语句。我在实际代码中使用了很多变量。有什么方法可以仅通过输入更改变量?

#include <iostream>
using namespace std;

int a = 0;
int b = 0;

string input;

int main() {
    cin >> input;
    *variable specified by input variable* = 1;
}

1 个答案:

答案 0 :(得分:4)

您可以使用关联容器将输入映射到变量。一个例子:

std::unordered_map<std::string, int*> vars = {
    {"a", &a},
    {"b", &b},
};

// the assignment
*vars.at(input) = 1;