我知道当我们声明数组时我们想要为2D数组赋值,我们这样做:
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}};
当我这样做时,编译器会给出错误。请帮助。
答案 0 :(得分: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。