C++动态分配二维数组

在做矩阵处理时经常会出现二维数组的分配问题,今天实现了一个类可以实现矩阵的动态分配即二维数组的动态分配

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;
}

在上面的例子中的构造函数中给出了动态分配二维数组的方法,在析构函数中给出了释放二维数组的方法。

发布了23 篇原创文章 · 获赞 27 · 访问量 1149

猜你喜欢

转载自blog.csdn.net/BLUCEJIE/article/details/104356846