C++中vector容器的使用和操作
需积分: 24 95 浏览量
更新于2024-09-14
收藏 24KB DOCX 举报
vector用法详解
vector是C++标准库中的一种容器类,相当于一个动态数组,可以存储不同的数据类型。它的使用非常灵活,提供了多种操作来管理和访问元素。
**定义和初始化**
vector的定义和初始化有多种方式:
1. 默认初始化:`vector<typeName>v1;`,默认情况下,v1为空。
2. 复制初始化:`vector<typeName>v2(v1);` 或 `v2 = v1;`,v2是v1的一个副本。
3. 指定大小和初始值的初始化:`vector<typeName>v3(n, i);`,v3包含n个值为i的typeName类型元素。
4. 使用数组初始化:`int a[4] = {0, 1, 2, 3, 3}; vector<int>v5(a, a + 5);`,v5的size为5,v5被初始化为a的5个值。
**值初始化**
vector的值初始化遵循以下规则:
1. 如果没有指定元素初始化式,标准库自行提供一个初始化值进行值初始化。
2. 如果保存的式含有构造函数的类类型的元素,标准库使用该类型的构造函数初始化。
3. 如果保存的式没有构造函数的类类型的元素,标准库产生一个带初始值的对象,使用这个对象进行值初始化。
**vector对象的操作**
vector对象提供了多种操作来管理和访问元素:
1. `push_back`:在容器的最后添加一个值为t的数据,容器的size变大。
2. `size`:返回容器中数据的个数,size返回相应vector类定义的size_type的值。
3. `resize`:将v的容量翻倍(或将v的容量设置为指定的值),例如`v.resize(2 * v.size)`或`v.resize(2 * v.size, 99)`。
4. `empty`:判断vector是否为空。
**其他操作**
vector还提供了其他操作,例如:
* `at`:访问指定索引的元素,例如`v.at(0)`。
* `operator[]`:访问指定索引的元素,例如`v[0]`。
* `front`:访问容器的第一个元素,例如`v.front()`。
* `back`:访问容器的最后一个元素,例如`v.back()`。
* `begin`和`end`:访问容器的开始和结束迭代器,例如`v.begin()`和`v.end()`。
vector是一个功能强大且灵活的容器类,提供了多种操作来管理和访问元素。
2012-09-30 上传
2013-07-05 上传
2021-10-06 上传
2023-05-29 上传
2023-09-05 上传
2023-08-13 上传
2023-04-25 上传
2023-10-19 上传
2023-05-23 上传
gpc123456y
- 粉丝: 1
- 资源: 7
最新资源
- CCOmPort,CRC32的c语言源码实现,c语言程序
- csanim:就像manim,但用于计算机科学!
- QT 编写的编译器,高亮显示,显示行号,一般编辑器的功能,代码填充
- Devopslearning
- react-project
- 大气扁平家居设计网站模板
- 家居装饰公司网站模板
- Raspi-rfid-temp
- cksc2.0,c语言中代码源码都是啥意思,c语言程序
- 串口调试助手 小程序 工具
- DeliverIt-documentation
- NginxAccess_AutoConfig:动态IPAddress进行Nginx访问配置(白名单)
- RegDiff:查找两个Windows注册表状态之间的差异-开源
- LiScEig 1.0:用于常规 Sturm-Liouville 问题的 MATLAB 应用程序。-matlab开发
- Myportforio1
- Proyecto-R-Face:R-Face Project是用Python编写的软件,利用Opencv库进行人脸识别