在C++中,數組是一種固定大小的數據結構,無法像動態數組一樣動態擴容。但是可以通過使用動態數組(如std::vector)和復制數據的方式來實現類似的功能。
下面是一個簡單的示例,演示如何使用std::vector實現動態擴容的功能:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
// 添加元素到動態數組
for (int i = 0; i < 10; i++) {
vec.push_back(i);
}
std::cout << "原始數組大小: " << vec.size() << std::endl;
// 擴容數組
vec.resize(20);
// 添加更多元素到動態數組
for (int i = 10; i < 20; i++) {
vec[i] = i;
}
std::cout << "擴容后數組大小: " << vec.size() << std::endl;
// 輸出數組元素
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
在上面的示例中,我們使用了std::vector來實現動態數組,并使用resize函數來擴容數組的大小。然后我們可以像操作普通數組一樣操作動態數組。
另外,還可以使用std::vector的reserve函數來預留一定大小的存儲空間,避免頻繁擴容帶來的性能開銷。