C++标准模板库vector的常用操作和存储方式
131 浏览量
更新于2024-08-30
收藏 61KB PDF 举报
C++标准模板库vector的常用操作
C++标准模板库vector是一种容器,底层是数组,为连续内存,命名空间为std,所属头文件为<vector>。vector存储数据时,会分配一个存储空间,如果继续存储,该分配的空间已满,就会分配一块更大的内存,把原来的数据复制过来,继续存储,这些性能也会一定程度上会有损耗。
一、vector的基本操作
1. 容量操作:
- vector大小:vector.size(),返回vector的元素个数。
- vector所占内存实际大小:vector.capacity(),返回vector的容量。
2. 修改操作:
- 尾部添加元素:vector.push_back(),将元素添加到vector的尾部。
- 尾部删除元素:vector.pop_back(),删除vector的最后一个元素。
- 交换两个vector元素:vector.swap(),交换两个vector的元素。
- 清空vector元素:vector.clear(),清空vector中的所有元素。
- 删除指定元素:vector.erase(it),删除vector中的指定元素。
3. 迭代器操作:
- vector开始指针:vector.begin(),返回vector的开始指针。
- vector尾部指针:vector.end(),返回vector的尾部指针,注意最后一个元素的下一个位置,类似于NULL,不是容器的最后一个元素。
4. 访问元素:
- 下标访问:vector[1],访问vector中的第一个元素,不检查是否越界。
- at方法访问:vector.at(1),访问vector中的第一个元素,自动检查是否越界,如越界会抛出异常。
- 访问第一个元素:vector.front(),访问vector中的第一个元素。
- 访问最后一个元素:vector.back(),访问vector中的最后一个元素。
二、vector的存储方式
1. 简单存储:
- 方法1:vector<int>v1(10);,预先分配10个元素的空间,然后使用v1[i] = i;来存储元素。
- 方法2:vector<int>v2;,使用v2.push_back(i)来存储元素。
2. 存储结构体和结构体指针:
- 存储结构体:使用vector<Student>vStu1;来存储结构体Student,然后使用vStu1.push_back(stu)来存储元素。
- 存储结构体指针:使用vector<Student*>vStu2;来存储结构体指针,然后使用vStu2.push_back(pStu)来存储元素。
C++标准模板库vector提供了多种操作和存储方式,例如容量操作、修改操作、迭代器操作、访问元素等,满足不同的应用需求。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38703968
- 粉丝: 7
- 资源: 936
最新资源
- 教程 Madaline Rule II - 神经网络的训练算法:关于 Madaline Rule II 算法的西班牙语教程。 仅用于学术和教育用途。-matlab开发
- 通讯录列表
- ACCESS酒店房间预约系统ASP毕业设计(源代码+论文).zip
- anbible
- learnr-lubridate:R软件包,其中包含专门用于学习lubridate日期管理软件包基础的学习者教程
- discord-clone:using使用React + Redux + Firebase的简单Discord克隆
- Accuinsight-1.0.19-py2.py3-none-any.whl.zip
- yschools
- sopia-bot.github.io
- 用于在移动机器人中实现基于地图的定位的光线投射:该代码是用于获得模拟距离测量的光线投射的有效实现。-matlab开发
- 基于PHP的最新仿小刀娱乐网模板PHP版(带7色皮肤)源码.zip
- site:KSZLAGK网站
- 行业分类-设备装置-基于智慧校园环境下的简易多媒体教室控制系统.zip
- PegGame:JS中的CS300钉游戏
- Icons-Theme-OpenCore:Itens de Boot Personalizados que fiz pro Opencore
- Лайфхакер-crx插件