admin管理员组

文章数量:1611909

今天测试了一下vector大小和容量的问题。
size 是实际上存储了多少个元素。
capacity是留了多少的空间。
如果size增加到和capacity相等的时候,下一次再添加元素的时候,capaticy会变大许多。

同时,初始化5是说明初始化5个为0的元素放进去。再次添加size就是6了,但是如果使用reserve,那push_back 就等于说是给5个空的空间塞数据,也就是预留了5个空间,当塞的数据达到5个的时候,再塞数据capacity就会又变大一些。

#include <iostream>
#include <vector>

using namespace std;

int main(){

    vector<int> integers(5);
   // integers.reserve(5);

    integers.push_back(50);
    cout<<integers.size()<<endl;
    cout<<integers.capacity()<<endl;
    integers.push_back(1);
    cout<<integers.size()<<endl;
    cout<<integers.capacity()<<endl;
    integers.push_back(111);

    cout<<integers.size()<<endl;
    cout<<integers.capacity()<<endl;
    integers.push_back(159);

    cout<<integers.size()<<endl;
    cout<<integers.capacity()<<endl;
    integers.push_back(19);
    cout<<integers.size()<<endl;
    cout<<integers.capacity()<<endl;

    integers.push_back(1333);
    cout<<integers.size()<<endl;
    cout<<integers.capacity()<<endl;
    return 0;
}

本文标签: 区别VectorreserveCapacity