vector是用数组做的,因此具备数组的优(具有下标,操作很快)缺(一旦数组大小定义好了就不允许再改变)点。当vector容器中加入新的元素时,若容器容量不够,则创建新的更大容量的数组,再将原数组中的元素copy进来;
#include<iostream>
#include<vector>
int main()
{
std::vector<int> v;
int i = 0;
while (i++ < 30)
{
v.push_back(i);
std::cout << "容器大小:" << v.size() << "; 容器容量:" << v.capacity() << std::endl;
}
// 操作环境:window10,visual studio 2017, Debug, x86
/*输出结果:(分析,先给容器分配一定容量,当容量不够时,创建新的数组,将原数组中的元素copy进来,因此扩大容量过程比较耗时(copy数据操作),其容量自动增长50%(为了避免频繁地扩大容量,增长%多少和开发环境有关))
容器大小:1容器容量:1
容器大小:2容器容量:2
容器大小:3容器容量:3
容器大小:4容器容量:4
容器大小:5容器容量:6
容器大小:6容器容量:6
容器大小:7容器容量:9
容器大小:8容器容量:9
容器大小&#