C语言到C++STL菜鸟教程:Vector容器、迭代器、常用接口

1. 概念

Vector可以翻译为向量,或向量数组,至于为什么以向量命名,可以理解为一维空间也是存在向量的。

Vector是最简单的序列是容器,就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元素也可以使用常量指向其元素的偏移来访问,与数组一样有效。但与数组不同,它们的大小可以动态变化,其存储由容器自动处理。

总结一下Vector就是一个动态创建空间,且预先加载了常用的数组操作的数组。

2. 相关文件

头文件:#include

3. 初始化

格式为:vector name;

我们以Int类型作为参数为例,进行创建。

vector v1;           //创建一个空的向量v1 vector v2(10);       //创建一个向量v2,其已开辟10个元素的空间,相当于int v[10]; vector v3(10,5);     //创建一个向量v3,其已开辟10个元素的空间并全部赋值为5 vector v4(v3.begin(),v3.end());     //创建一个向量v3,其内容为向量v3的内容 vector v5(v4);       //创建一个向量v5,其包含了v4的全部内容

 

4. 迭代器

顾名思义,迭代器是一种安全的访问控制器,它本身是一种指针,用于直接的元素访问。其遍历访问的大致思路是,创建容器的迭代器,让迭代器指向第一个元素,逐步向后移动并最终指向最后一个元素结束。

遍历代码举例:

vector v;        //创建一个向量vs vector::iterator it;    //C98标准 for (it=v.begin();it!=v.end();it++){      cout