如何首先初始化二维数组并稍后更改其值?
我尝试使用以下代码:
class foo
{
public:
foo()
{
bar = {
{2, 2},
{2, 2}
};
}
private:
int bar[2][2];
};
foo Foo;
答案 0 :(得分:2)
此语法仅在初始化数组时有效。在构造函数体内,数组已经初始化。现在唯一的方法是使用循环:
for(int i = 0; i < 2; i++)
for(int j = 0; j < 2; i++)
bar[i][j] = 2;
如果你在全局数组中有值,你可以复制它们:
std::copy(values, values+sizeof(foo)/sizeof(int), foo);