我想定义名称依赖于其他变量值的变量,例如
for (int i = 0; i < 5; i++) {
int v_i = 2 * i
}
std::cout << v_3; // output: 6
或
int m;
std::cin >> m; // m = 42
int v_m = 10;
std::cout << v_42; // output: 10
当然,这些示例不起作用,而只是创建名称为 v_i
或 v_m
的变量,将 i 和 m 视为字符。
我怎样才能做到这一点?
最佳答案
您可以使用关联贴图。它允许您将一个键与一个值相关联,然后从该键访问一个值。
http://www.cplusplus.com/reference/map/map/
例子:
int main ()
{
std::map<char,int> test;
test['a']=10;
test['b']=30;
test['c']=50;
test['d']=70;
std::cout << test['a'] << std::endl; //prints 10
}
在您的情况下,它将是 map<int, int>
map 在其他一些语言中也称为字典。
关于c++ - 定义具有相关名称的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40951971/