我如何使用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数组,然后再删除指针数组。