C ++来自变量的数组名称

时间:2015-12-02 03:18:27

标签: c++

我想从c ++那里得到一些帮助。 我试图使用变量中的值来更改数组名称。像这样的东西:

全局变量:

string array1[5][5];
string array2[5][5];

在一个函数中:

string var;
if (option1) { var = "array1"; }
if (option2) { var = "array2"; }
var[1][1]="some data";

不幸的是,这不起作用。有没有办法像这样管理数组?

3 个答案:

答案 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