千家信息网

如何使用C++的vector

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"如何使用C++的vector"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建对象在
千家信息网最后更新 2026年11月03日如何使用C++的vector

本篇内容介绍了"如何使用C++的vector"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创建对象

在C++中,官方文档所给的创建对象方法有4-6种,博主这里便介绍其中最常用的4种,同时博主为了大家先能够简单使用,会省去一些与源文档不一样的地方.

直接创建,即和类定义对象一样,官方声明为:explicit vector ();,其中explict是指不支持隐式类型转换.

示例:

vector v1;          //创建int类型顺序表 v1;vector v2;         //创建char类型顺序表 v2;vector v3;       //创建double类型顺序表 v3;

通过传n个val值定义对象,达到一创建对象就具有n个val,官方声明为:explicit vector (size_type n, const value_type& val = value_type();,其中value_type就是我们需要的类型…

示例:

vector v1(10,9);    //创建int类型顺序表v1,里面有10个9;vector v2(v1.begin(),v1.begin()+6);   //创建int类型顺序表v2,里面有6个9;

通过迭代器区间形式创建对象,官方声明为:template vector (InputIterator first, InputIterator last).

示例:

vector v1(10,9);    //创建int类型顺序表v1,里面有10个9;vector v2(v1.begin(),v1.begin()+6);   //创建int类型顺序表v2,里面有6个9;

通过现成的同类型对象创建对象,官方声明为:vector (const vector& x);.

示例:

vector v1(10,9);   //通过前面的方法创建一个对象;vector v2(v1);     //创建对象v2,其内容与v1一模一样.

迭代器

在经过前几节的string洗礼,相信大家对迭代器也算比较了解,这里就直接开门见山的介绍用法吧:

  • 普通迭代器接口:分别是begin()和end();其中begin()为首元素位置,end()为末元素位置下一个位置

  • 反转迭代器接口:分别是rbegin()和rend();其中rbegin()是末元素位置,rend()是首元素前一个位置.

示例:

vector v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);    //这四个步骤大概意思为插入 1 2 3 4vector::iterator it = v1.begin();while(it != v1.end()) {    cout<<*it<<" ";}cout<

数据插入

在数据插入方面,C++最常用的两个函数接口分别是insert和push_back.前者是在目标位置前插入,后者是进行尾插;

尾插 ,即对象直接调用push_back(),然后传值进去.

vector v1;    //先创建一个对象.v1.push_back(1);   //尾插数据1v1.push_back(2);   //尾插数据2v1.push_back(3);   //尾插数据3// 现在v1的数据内容情况为 1  2  3

而任意位置插入最常用的有3种,分别是

  • 在pos位置直接插入一个元素,pos是一个迭代器

  • 在pos位置直接插入n个元素,pos是一个迭代器

  • 在pos位置插入一段区间(区间用迭代器表示),pos是一个迭代器

示例:

数据删除

在删除数据方面,主要有两个接口,分别是erase()和pop_back(),前者是给一个迭代器,然后删除.后者是尾删,不需要参数

尾删:

vector v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.pop_back();  //尾删元素4v1.pop_back();  //尾删元素3v1.pop_back();  //尾删元素2//目前该容器还剩下元素 1

传迭代器形式删除

vector v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.erase(v1.begin());      //删除第一个元素1v1.erase(v1.begin()+1);    //删除现在容容器的第二个元素3//目前还剩下元素2 4

容量操作

在这方面,c++提供了size(),resize(),capacity(),empty()几个常用操作.

  • 获取目前元素数量

vector v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.size();   //获取到元素数量为4个

重新调整大小,其中如果传入的n小于原来的size,那么容器就会缩减到n,同时传入的另外参数无效;如果n大于size,就会扩大到n,参数有效,和string的使用一样. 官方文档为:void resize (size_type n, value_typeval = value_type());

示例:

vector v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.resize(3,0);   //只会缩减到3个size,传入的另一个0无效v1.resize(6,9);   //现在6大于size:3,所以9有效//现在内容为1 2 3 9 9 9

获取容量

vector v1;v1.capacity();  //注意哦~,这个容量和size并不一样.

判断是否为空

示例:

vector v1;if(v1.empty()){    cout<<"容易为空"<

"如何使用C++的vector"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

元素 对象 迭代 位置 类型 数据 示例 顺序 官方 内容 容器 常用 接口 C++ 区间 参数 容量 文档 输出 有效 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 新华互联网科技学院 互联网科技有限公司图片 美国互联网科技巨头监管 互联网科技与金融科技 碳银互联网科技 互联网科技的英文 九亚互联网科技 互联网金融科技平台 互联网高科技企业 深圳卡尔迅互联网科技有限公司怎么样 隆华科技工业互联网 小米互联网科技园设置 互联网科技有哪些公司 成都铂石互联网科技做什么的 企晟互联网信息科技有限公司 国大互联网教育科技有限公司薪资 互联网领先科技宣传片 互联网科技年终奖 上海旺乐尼互联网科技有限公司 深圳市人人互联网科技有限公司 深圳恒合互联网络科技有限公司 科技制造互联网公司 互联网金融与金融科技 银优互联网科技有限公司 银川新华互联网科技学校联系电话 山东有哪些互联网科技公司 互联网科技融合创新 互联网科技平台产品运营 北京互联网科技类企业分布
0