一、简介
我们在学习C++的过程中,学到STL是必然的,那么STL的入门就是vector了。
vector是同一种类型的对象的集合,vector很像数组,空间是连续的,能非常高效和方便的访问单个元素,但是它支持动态增加和压缩数据,所以这是矛盾的,这个问题,我们会在后期的STL源码的分析中来讲解vector的内部实现。
vector 是一个类模板(class template)。使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。
vector需要的头文件是
#include <vector>
using std::vector
-------------------------------------------------------------------
二、 定义和初始化
vector< T> v; //默认为空,例如 vector<int> v; vector<T> v2(v); 或v2=v1; vector<T> v2(v1.begin(), v1.end());//v2是v1的一个副本, 若v1.size()>v2.size()则赋值后v2.size()被扩充为v1.size()。 vector< T > v3(n,i);//v3包含n个值为i的T类型元素 vector< T > v4(n); //v4含有n个值为0的元素 int a[4]={0,1,2,3,3}; vector<int> v5(a,a+5); //v5的size为5,v5被初始化为a的5个值。后一个指针要指向将被拷贝的末元素的下一位置。 vector<int> v6(v5);//v6是v5的拷贝 vector< 类型 > 标识符(最大容量,初始所有值); |
-------------------------------------------------------------------
三、vector常用成员函数:
size() :返回元素的个数 clear() :清除所有元素 empty() :判断是否为空 push_back() :在末尾添加一个元素 pop_back() :删除最后一个元素 erase() :删除某个元素 insert() :插入一个元素 [] :返回元素 = :复制副本 |
重载运算符:[]、=、<=、>=、>、<、!=、==、
-------------------------------------------------------------------