是的,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;
要注意的是,在改變大小之前,需要釋放原數組的內存,然后重新分配新的內存。這樣做可以確保程序不會出現內存泄漏問題。