友链
references:
- https://cplusplus.com/reference/vector/vector/
简单来讲就是变长数组
他和数组一样使用连续存储空间,因此可以使用索引或者指针偏移量来访问其中的元素
不同的是,他的长度可以变,而数组的长度是固定的
vector的内部实现是动态分配的数组,在有新数据插入的时候,可能需要重新分配数组,然后将原来数组中的数据全部迁移到新分配的数组中,这么做相当耗费性能
因此vector并不会在每一次有数据插入的时候就重新分配数组,vector会多分配一些多余的空间以适应潜在的数组增长,也就是说vector的容量(capacity)可能会大于其真正存储的元素个数(size)