C++动态分配二维数组

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-18 07:25:56

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

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!