C++之vector类的代码及其逻辑详解(上)
1. vetcor介绍及使用方法
1.1 什么是vector
1. vetcor是一种可以自己扩容的数组(扩大后不会变小)。
2. vector采用的连续存储空间来存储元素,这意味着我们可以小标的方式来对其进行访问。
3. vetcor在进行扩容的时候会尝试直接在其后面的空间进行扩容,如果后面的空间被其他的数据给使用了,那么它会寻找一块足够存放的下扩容候的它的空间,然后把自己转移进那块空间(一般来说vetcor在设计的时候都是进行2倍扩容)。
4. 因为vector在实现的时候我们会使用一个双指针分别指向它的头(begin())和它的尾(end())。所以它的尾插效率会很高,而它的头插效率会很低(因为需要把里面的元素一个个都向后移动一位)。
PS:在vector里面begin()是指向第一个元素的,而end()则是指向最后一个的下一个。
1.2 vetcor的使用
函数名字