在做矩阵处理时经常会出现二维数组的分配问题,今天实现了一个类可以实现矩阵的动态分配即二维数组的动态分配
class Mat {
public:
Mat(int w, int h){
with = w;
hight = h;
//为二维数组分配空间
mat = new int*[hight];
for (int i = 0; i < hight; i++)
mat[i] = new int[with];
}
~Mat() {
//使用完成后释放二维数组的内存空间
for(int i = 0; i < hight; i++)
delete mat[i];
delete mat;
}
int getElem(int x, int y){
return mat[y][x];
}
void setElem(int x, int y, int elem){
mat[y][x] = elem;
}
private:
int with;
int hight;
int **mat;
}
在上面的例子中的构造函数中给出了动态分配二维数组的方法,在析构函数中给出了释放二维数组的方法。