无情春天

文章
5
资源
0
加入时间
3年0月9天

[C++]vector,list和deque的区别

vector封装了数组,拥有一段连续的内存空间,并且起始地址不变。因此vector可以非常好地支持随机存取,支持[]操作符重载和vector.at()。但是由于它的内存空间是连续的,所以在vector中间进行插入和删除会造成内存块的拷贝和移动,复杂度是O(n)。 此外,当该数组的内存空间不够时,需要重新申请一块足够大的内存并进行内存拷贝,这些都降低了vector的效率。但是在vector的