我想从c ++那里得到一些帮助。 我试图使用变量中的值来更改数组名称。像这样的东西:
全局变量:
string array1[5][5];
string array2[5][5];
在一个函数中:
string var;
if (option1) { var = "array1"; }
if (option2) { var = "array2"; }
var[1][1]="some data";
不幸的是,这不起作用。有没有办法像这样管理数组?
答案 0 :(得分:2)
是的,您可以使用指针:
decltype(array1) *ptr{};
if ( option1 ) ptr = &array1;
else if ( option2 ) ptr = &array2;
if ( ptr )
(*ptr)[1][1] = "some data";
答案 1 :(得分:1)
不,没有。
您可以使用其他级别的数组索引:
string array[2][5][5];
int var;
if(option1) {var = 0;}
if(option2) {var = 1;}
array[var][1][1] = "some data";
答案 2 :(得分:1)
let