首先了解一下vector

    vector是线性容器,它的元素严格的按照线性序列排序,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以以下标的方式访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间。

vector::reserve

函数原型:

void reserve(size_type n);

reserve是容器预留空间,但并不是真正创建元素。在创建对象前,不能引用容器中的元素,当插入元素时,需要用push_back()和insert()。

reserve有一个参数:n为预留空间的大小。


vector::resize

函数原型:


void resize(size_type sz,T c = T());


resize是改变容器的大小,并创建对象。调用此函数时,可以引用容器中的对象,当加入新元素时,可以调用operator[]。

resize有两个参数:第一个参数为容器的新大小;第二个参数为加入容器的新元素。第二个参数可缺省。


vector::reserve

vector::reserve和vector::resize的区别


vector::resize

vector::reserve和vector::resize的区别


vector::reserve和vector::resize的区别