使用new创建二维数组的时候,首先我们是创建一个指针数组,然后给每一个指针赋予一个内存空间即可:
T ** p = new T* [numberOfRows];
for(int i = 0; i < numberOfRows;++i){
p[i] = new T [numberOfColumns];//注意,这个numberOfColumns是可以改变的,不一定是单单这么一个值,也就是说二维数组可以不一定是列数是一样的,可以列数不一样
}
那么同理,在删除的时候,我们首先把每一个指针指向的内存删掉,然后最后把这个盛放指针的数组也给释放掉就好了
for(int i = 0; i < numberOfRows;++i)
delete [] p[i];//释放每一个指针指向的内存
delete []p;//释放存储指针的内存空间
C++释放用new创建的二维数组
最新推荐文章于 2024-06-27 11:18:59 发布