一 点睛
1 基本概念
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。
与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。
在使用它时, 需要包含头文件 vector
#include<vector>
vector容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。
vector区别于一般数组的特性之一就是能够动态的“扩容”,大小和容量的概念至关重要。
vector的大小(size)是指当前元素所占用空间,而容量(capacity)则是指vector分配内存预留大小,当size超过capacity时,vector会自动进行扩容,重新分配内存。
容器的大小和容器的容量是有区别的,大小是指元素的个数,容量是分配的内存大小,容量一般不小于容器的大小。
vector::size()返回容器的大小,vector::capacity()返回容量值。容量多于容器大小 的部分用于以防容器大小增加的使用。每次重新分配内存都会影响程序性能,所以一般分配的容量都大于容器的大小,若要自己指定分配的容量的大小,则可以使用vector::reserve(),但是规定的值要大于size()值。
2 优点
-
可以使用下标访问个别的元素。
-
迭代器可以按照不同的方式遍历容器。
-
可以在容器的末尾增加或删除元素。
3 向量初始化举例