值得一看
广告
彩虹云商城
广告

热门广告位

c++中vector怎么使用_c++ vector容器使用方法指南

vector是C++ STL中动态数组容器,需包含头文件<vector>,支持自动内存管理和动态扩容;可定义为空、指定长度或初始化值;常用操作包括push_back、pop_back、size、empty、clear、front、back、data等成员函数;遍历方式有下标、范围for循环和迭代器三种;支持在任意位置用insert插入和erase删除元素;适用于多数场景,但应避免频繁中间插入删除以保证效率。

c++中vector怎么使用_c++ vector容器使用方法指南

在C++中,vector 是最常用的动态数组容器之一,属于标准模板库(STL)的一部分。它能自动管理内存,支持动态扩容,使用起来非常方便。下面详细介绍 vector 的基本用法和常见操作。

包含头文件与定义vector

要使用 vector,必须包含对应的头文件:

#include <vector>

然后可以通过以下方式定义 vector:

  • std::vector<int> vec; // 定义一个空的int类型vector
  • std::vector<double> vec(5); // 定义长度为5,元素初始化为0.0
  • std::vector<int> vec(3, 10); // 长度为3,每个元素都是10
  • std::vector<int> vec2(vec); // 用另一个vector初始化

常用成员函数操作

vector 提供了丰富的成员函数来管理数据:

立即学习“C++免费学习笔记(深入)”;

  • vec.push_back(x):在末尾添加一个元素x
  • vec.pop_back():删除最后一个元素
  • vec.size():返回当前元素个数
  • vec.empty():判断是否为空,返回true/false
  • vec.clear():清空所有元素
  • vec[i]vec.at(i):访问第i个元素(at会做越界检查)
  • vec.front():返回第一个元素
  • vec.back():返回最后一个元素
  • vec.data():返回指向内部数组首地址的指针

遍历vector的方法

有多种方式可以遍历 vector 中的元素:

AI图像编辑器

AI图像编辑器

使用文本提示编辑、变换和增强照片

AI图像编辑器46

查看详情
AI图像编辑器

  • 下标遍历

    for (int i = 0; i < vec.size(); ++i) {
      std::cout << vec[i] << ” “;
    }
  • 范围for循环(C++11起)

    for (const auto& x : vec) {
      std::cout << x << ” “;
    }
  • 迭代器遍历

    for (auto it = vec.begin(); it != vec.end(); ++it) {
      std::cout << *it << ” “;
    }

插入与删除指定位置元素

除了在尾部操作,还可以在任意位置插入或删除:

  • vec.insert(it, value):在迭代器 it 指向的位置前插入 value
  • vec.erase(it):删除 it 指向的元素
  • vec.erase(start, end):删除从 start 到 end 范围内的元素

示例:


vec.insert(vec.begin() + 1, 99); // 在索引1处插入99
vec.erase(vec.begin()); // 删除第一个元素

基本上就这些核心操作。vector 使用灵活、性能良好,是替代原生数组的首选。只要注意避免频繁在中间插入删除(效率低),其他场景都非常适合。

相关标签:

c++ for 成员函数 include const auto int double 循环 指针

大家都在看:

c++中怎么实现单例模式_c++单例设计模式实现方法
c++中如何判断两个字符串是否为异位词_c++字符串异位词判断方法
c++中std::array和普通数组的区别_C++ std::array与C风格数组对比分析
c++中怎么检查map中是否存在某个key_c++查找map键是否存在方法
c++怎么遍历文件夹中的所有文件_c++文件夹遍历方法
温馨提示: 本文最后更新于2025-10-10 22:29:13,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容