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

   2024-10-01 2470
核心提示:在C++中,数组是一种固定大小的数据结构,无法像动态数组一样动态扩容。但是可以通过使用动态数组(如std::vector)和复制数据的

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

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号