C++标准库vector类型的使用和操作总结
vector是一种类型对象的集合,它是一种顺序容器,容器中的所有对象必须都是同一种类型。想了解顺序容器的更多内容:C++顺序容器知识总结。vector的对象是可以动态生长的,这说明它在初始化时可以不用指定大小,而是再使用时根据元素所需的空间动态增长。C++中还有一种常见的类型string,它和vector有很多相似之处,具体可以看《C++标准库string类型的使用和操作总结》这篇博文。下面简单介绍一下vector容器的使用和操作。
一.声明和初始化
使用vector之前必须在程序前的库包含中包含相应的头文件,如下:
#include<vector> using std::vector;
vector定义了几种构造函数,所以它提供了几种初始化的方式,如下:
vector<T> v1; vevtor保存类型为T的对象。默认构造函数v1为空。 vector<T> v2(v1); v2是v1的一个副本,v1和v2的元素类型必须相同 vector<T> v3(n,i); v3包含n个值为i的元素 vector<T> v4(n); v4包含初始化的元素的n个副本,默认元素值为0
二.常用操作
vector的很多操作都类似于string对象的操作,下面仅仅列出一些常用的操作。
v.empty(); 如果v为空,则返回true,否则返回false v.size(); 返回v中元素的个数 v.push_back(t); 在v的末尾添加一个值为t的元素 v[n]; 返回v中位置为n的元素,从0开始计数 v1=v2; 把v的内容替换为v2的一个副本 v1==v2; 比较v1和v2的内容,相等则返回true,否则返回false !=,<,<=,>和>= 保持这些操作符惯有的含义
值得注意的是在进行下标操作时,必须是已经存在的元素才能进行下标索引,否则通过下标索引赋值,不会添加任何元素,如:
vertor<int > ivec; for(vector<int >::size_type i=0;i!=10;++i)ivec[i]=i; //上面则条语句不会像容器添加任何元素,因为ivec是空的对象,所以应该改成下面的语句 vertor<int > ivec; for(vector<int >::size_type i=0;i!=10;++i)ivec.push_back(i);
参考文献
《C++ PRIMER》 中文版
转载于:https://www.cnblogs.com/maluning/p/8570052.html
C++标准库vector类型的使用和操作总结相关推荐
- [python教程入门学习]Python标准库映射类型与可散列数据类型的关系
本文章向大家介绍Python标准库映射类型与可散列数据类型的关系,主要包括Python标准库映射类型与可散列数据类型的关系使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- Python 标准库之 shutil 高阶文件操作『详细』
Python标准库之 shutil 高阶文件操作『详细』 文章目录 Python标准库之 shutil 高阶文件操作『详细』 一.Python shutil介绍
- C++标准库vector及迭代器
vector是同一种对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库将负责管理与存储元素相关的类存.引入头文件 #include<vector> 1.vecto ...
- C++ 标准库 vector list map使用方法
[cpp] view plaincopy List(链表) List将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. list对象函数 as ...
- Rust 标准库字符串类型String及其46种常用方法
Rust字符串 Rust主要有两种类型的字符串:&str和String &str 由&[u8]表示,UTF-8编码的字符串的引用,字符串字面值,也称作字符串切片.&st ...
- C++标准库 vector排序
项目中需要对坐标点排序,转自https://blog.csdn.net/hnu_zxc/article/details/6746029/.侵删. 前天要做一个对C++ STL的vector容器做一个排 ...
- 初识标准库vector
vector:相同类型对象的集合(不能包含引用,引用不是对象),有索引,是一个类模板,通常称容器. 初始化:与string有些类似,但也有些不同 #include<iostream> #i ...
- STL标准库vector笔记
vector::assign()用法: 1 #include "stdafx.h" 2 #include <iostream> 3 #include <vecto ...
- Go语言自学系列 | golang标准库os模块 - File文件读操作
视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...
最新文章
- 数据结构之【队列】的基本操作C语言实现
- oracle rac 磁盘重建,Oracle RAC环境下重建ASM磁盘组 Re-create ASM diskgroup with Oracle RAC...
- C#获取数据库表信息,列信息
- libevent 1.4.13 / 源代码文件组织
- Android第十期 - 百度地图
- ORA-12638: 身份证明检索失败
- python中调用C++写的动态库
- 百度AI技术盛宴来了!大咖齐聚解读CV/NLP/跨模态大模型技术!
- 动态规划 —— 区间 DP —— 石子合并三讲
- elastic 索引库_使用Elastic Job Agents自动执行Azure SQL数据库索引维护
- 【Oracle】RedHat 6.5 安装 11g数据库
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
- 学习笔记-Speed-Win
- 公交线路查询接口使用说明
- wordpress企业主题安装
- Compose系列 五 副作用 side-effect
- 绝版 ~ 原来 Python 画画可以这么简单
- matlab验证确认和测试,验证和确认快速入门
- Mac系统升级后,按大小写键没反应了,切换大小写的灯不亮了
- WhiteBalance