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