阅读量:0
是的,C++中可以使用动态二维数组,并且可以改变其大小。一种常见的方法是使用指针数组,例如:
int rows = 3; int cols = 4; int** arr = new int*[rows]; for (int i = 0; i < rows; i++) { arr[i] = new int[cols]; } // 改变大小 int newRows = 5; int newCols = 6; int** newArr = new int*[newRows]; for (int i = 0; i < newRows; i++) { newArr[i] = new int[newCols]; } // 释放原数组内存 for (int i = 0; i < rows; i++) { delete[] arr[i]; } delete[] arr; // 使用新数组 arr = newArr; rows = newRows; cols = newCols;
要注意的是,在改变大小之前,需要释放原数组的内存,然后重新分配新的内存。这样做可以确保程序不会出现内存泄漏问题。