我想手动设置作为类成员的2D数组的值。很大程度上是因为我已经用不同的方法填充了循环,但是我想用不同的方法手工填充它。
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}};
}
答案 0 :(得分: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}});
}
};