初始化二维数组并稍后更改其值

时间:2011-04-06 09:06:40

标签: c++ arrays multidimensional-array

如何首先初始化二维数组并稍后更改其值?

我尝试使用以下代码:

class foo
{
      public:
             foo()
             {
                  bar = {
                     {2, 2}, 
                     {2, 2}
                  };
             }

      private:
             int bar[2][2];
};

foo Foo;

1 个答案:

答案 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);
相关问题