在数组生存期内,数组的大小是不会改变的。向量是一维数组的类版本,它与数组相似,其中的元素项总是连续存储的,但它和数组不同的是:向量中存储元素的多少可以在运行中根据需要动态地增长或缩小。向量是类模板,具有成员函数。
向量(vector)类模板定义在头文件vector中,它提供4种构造函数,用来定义由各元素组成的列表。用length表示长度,数据类型用type表示,对象名为name。
vector<type> :: iterator泛型指针名;
访问向量容量信息的方法
(1)size():返回当前向量中已经存放的对象的个数
(2)max_size():返回向量可以容纳最多对象的个数,一般是操作系统的寻址空间所需容纳的对象的个数。这个参数不是用户指定的,它取决于硬件结构。
(3)capacity():返回无需再次分配内存就能容纳的对象个数。它的初始值为程序员最初申请的元素个数。当存放空间已满,又增加一个元素时,它在原来的基础上自动翻倍扩充空间,以便存 放更多的元素。通俗地讲,也就是已申请的空间。这三者的关系如下。
(4)empty():当前向量为空时,返回true
访问向量中对象的方法
(1)front():返回向量中的第一个对象。
(2)back():返回向量中的最后一个对象。
(3)operator[](size_type,n):返回向量中的第n+1个对象(下标为n的向量元素)。
在向量中插入对象的方法
(1)push_back(const T&):向向量尾部插入一个对象。
(2)insert(iterator it,const T&):向it所指向的向量位置前插入一个对象。
(3)insert(iterator it,size_type n,const T&X):向it所指向量位置前插入n个值为X的对象。
在向量中删除对象的方法
(1)pop_back(const T&):删除向量中最后一个对象。
(2)erase(iterator it):删除it所指向的容器对象。
(3)clear():删除向量中的所有对象,empty()返回true。