![](https://csdnimg.cn/release/download_crawler_static/85551307/bg1.jpg)
最全 Vector 用法总结
最全 Vector 用法总结
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。
要解决此问题我们自己实现这样的类。在标准 C++中,用容器向量
(vector)实现。容器向量也是一个类模板。
标准库 vector 类型使用需要的头文件:#include 。vector 是一
个类模板。不是一种数据类型,vector 是一种数据类型。V ector的存
储空间是连续的,list 不是连续存储的。
一、定义和初始化
vector< typeName > v1; // 默认 v1 为空,故下面的赋值是错误
的 v1[0]=5;
vectorv2(v1); 或 v2=v1;或 vector v2(v1.begin(), v1.end());//v2
是 v1 的一个副本,若 v1.size()>v2.size()则赋值后 v2.size()被扩充
为 v1.size()。
vector< typeName > v3(n,i);//v3 包含 n 个值为 i 的 typeName
类型元素
vector< typeName > v4(n); //v4 含有 n 个值为 0 的元素
int a[4]={0,1,2,3,3}; vector v5(a,a+5);//v5的 size 为 5,v5 被初
始化为 a 的 5 个值。后一个指针要指向将被拷贝的末元素的下一位置。
vector v6(v5);//v6 是 v5 的拷贝
vector< 类型> 标识符(最大容量,初始所有值);
二、值初始化
1> 如果没有指定元素初始化式,标准库自行提供一个初始化值进
行值初始化。
2> 如果保存的式含有构造函数的类类型的元素,标准库使用该类
型的构造函数初始化。
3> 如果保存的式没有构造函数的类类型的元素,标准库产生一个
带初始值的对象,使用这个对象进行值初始化。
三、vector 对象最重要的几种操作