c++

C++动态二维数组能否改变大小

小樊
92
2024-07-25 16:51:12
栏目: 编程语言

是的,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;

要注意的是,在改变大小之前,需要释放原数组的内存,然后重新分配新的内存。这样做可以确保程序不会出现内存泄漏问题。

0
看了该问题的人还看了