C++标准库vector的基础用法总结

C++标准库vector的基础用法总结

vector简介

vector是C++标准模板库(STL)中的一个动态数组模板类,它可以随着元素的添加而自动增长。vector使用连续的内存空间来存储元素,这意味着可以使用下标运算符([])来访问元素,就像使用数组一样高效。然而,与数组不同的是,vector的大小是动态的,可以自动调整以适应添加的元素。

当新元素被添加到vector中时,如果当前容量不足以容纳新元素,vector会自动重新分配内存,通常是分配更大的内存块,并将所有原始元素复制到新的内存块中。这个过程可能会导致一些性能开销,因为需要复制元素和重新分配内存。但是,由于这个自动增长的能力,使用vector可以避免手动管理内存和数组大小的复杂性。

vector还提供了许多有用的成员函数,例如push_back()(添加元素到末尾)、pop_back()(删除末尾元素)、push_front()(添加元素到开头)、pop_front()(删除开头元素)、insert()(在指定位置插入元素)和erase()(删除指定位置的元素)等。

需要注意的是,由于vector使用动态内存分配,因此在处理大量数据或频繁调整大小的情况下,使用vector可能会导致内存碎片化或性能下降。在这种情况下,可以考虑使用其他容器,如dequelistarray等。

简单应用

以下是一个使用vector的简单例子:

#include <iostream>
#include <vector>

int main() {
   
   
    // 创建一个空的vector
    std::vector<int> vec;
    
    // 使用push_back()添加元素
    vec.push_back(1);
    vec.push_back(2);
    vec.push_back(3);
    
    // 遍历vector并输出元素
    for (int i : vec) {
   
   
        std::cout << i << " ";
    }
    std::cout << std::endl;
    
    // 使用front()和back()获取第一个和最后一个元素
    std::cout << "第一个元素是: "
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhh江月

您的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值