【发布时间】:2013-04-17 12:17:15
【问题描述】:
我知道当我们要在声明数组时为二维数组赋值时,我们会这样做:
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}};
当我这样做时,编译器会出错。请帮忙。
【问题讨论】:
-
普通数组不可赋值,因此您必须单独填写每个元素。您可以考虑使用标准库容器,例如
std::array。 -
你能用 C++11 和
std::vector代替吗? -
我在我的代码中使用了太多的数组。所以我根本无法用任何东西代替它。 :(
-
@Mushy 我想说这里更好的替代品是
std::array<std::array<int,4>,2>。这将元素保持在连续的内存中并且没有开销。
标签: c++ arrays 2d declaration