在C++中,動態數組可以通過以下兩種方法進行擴容:
使用new
和delete
操作符:
示例代碼:
int* array = new int[10]; // 創建一個初始大小為10的數組
// ...
int* newArray = new int[20]; // 創建一個新的較大數組
for (int i = 0; i < 10; i++) {
newArray[i] = array[i]; // 復制原始數組中的元素到新數組中
}
delete[] array; // 釋放原始數組的內存
array = newArray; // 將指針指向新數組
使用std::vector
標準庫容器:
std::vector
是C++標準庫提供的動態數組容器,可以自動進行擴容。std::vector
的push_back
方法向容器中添加元素,當容器容量不足時會自動擴容。示例代碼:
#include <vector>
// ...
std::vector<int> vec; // 創建一個空的vector
// ...
vec.push_back(10); // 添加一個元素到vector中,當vector容量不足時會自動擴容
以上兩種方法都可以實現動態數組的擴容,但使用std::vector
更加簡潔和方便,推薦使用它來處理動態數組。