【发布时间】:2013-11-04 11:56:25
【问题描述】:
我想手动设置作为类成员的二维数组的值。主要是因为我已经用不同的方法用循环填充它,但我想用不同的方法手动填充它。
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}};
}
【问题讨论】:
-
你可以像这样初始化数组,就在你声明数组的时候。
-
这并不能完全回答我的问题,你能澄清一下吗?如何在我的设置中声明允许我手动修改值的数组?
-
您只能在声明时初始化(通过分配)普通数组。您以后只能通过分配给每个元素来填充数组,而不是通过分配“给整体”。这和其他数以千计的原因是您应该不惜一切代价避免它们的原因。
-
这是因为我碰巧有一个或多或少是 20 x 4 表的数据,没有一个完全方便的模式来循环遍历每个元素。
标签: c++ pointers multidimensional-array