c++数组切片如何实现动态扩容

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!