0

我想手动设置作为类成员的二维数组的值。很大程度上是因为我已经用不同的方法用循环填充它,但我想用不同的方法手动填充它。

class SomeClass {
private:
   int** myArray;
public:
   void setMyArray(int /*h*/,int /*w*/);
}

void SomeClass::setMyArray() {
// Something like this:
this->myArray** = { {1,2,3},{3,2,1},{4,5,6}};

}

如果做不到这一点,有没有办法生成它的尺寸然后手动填充?

void SomeClass::setMyArray( int height, int width ) {
// Something like this:
this->myArray** = new*int[height];
for ( 0...height, i ) {
    this->myArray[i] = new[width];
}

    myArray** = {{1,2,3},{1,2,3},{1,2,3}};

}
4

1 回答 1

1

避免裸指针:

vector<vector<int>> myArray {{1,2,3},{1,2,3},{1,2,3}};

您甚至可以稍后插入初始化列表并重新编写您的类,如下所示:

class SomeClass
{
    vector<vector<int>> myArray;
public:
    void setMyArray()
    {
        myArray.insert(myArray.end(), {{1,2,3},{1,2,3},{1,2,3}});
    }
};
于 2013-11-04T12:01:52.410 回答