阅读量:0
在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函数来预留一定大小的存储空间,避免频繁扩容带来的性能开销。