我如何使用new在C ++中声明一个二维数组?
动态2D数组基本上是指向数组的指针的数组。因此,您首先需要初始化指向指针的指针数组,然后在循环中初始化每个1d数组。
示例
#include<iostream> using namespace std; int main() { int rows = 3, cols = 4; int** arr = new int*[rows]; for(int i = 0; i < rows; ++i) arr[i] = new int[cols]; return 0; }
这将创建一个大小为3x4的2D数组。在这种情况下,清除内存的方法有所不同,因为您需要以与分配内存相同的方式删除内存,但是顺序相反,也就是说,您需要先删除1D数组,然后再删除指针数组。