1

我知道当我们声明数组时要为二维数组赋值时,我们这样做:

int myArray[2][4] = {{1,2,3,4},{5,6,7,8}};

但是我应该如何“在”声明它之后分配值?我想做这样的事情:

int myArray[2][4];

myArray = {{1,2,3,4},{5,6,7,8}};

当我这样做时,编译器会出错。请帮忙。

4

1 回答 1

2

如果你想使用,std::vector那么你可以这样做:

#include <vector>

int main()
{
    std::vector< std::vector<int> > arrV ;

    arrV = { {1,2,3,4}, {5,6,7,8} };
}

或使用std::array

#include <array>

int main()
{
    std::array<std::array<int,4>,2> arr ;

    arr =  {{  {{1,2,3,4 }}, {{5,6,7,8}}  }} ;
}

请注意,内组和外组中的双组大括号。这个答案虽然只适用于 C++11。

于 2013-04-17T12:49:33.007 回答