关于C++中Size和Capacity的问题

    技术2022-05-11  108

    #include <cstdlib>#include <iostream>#include <vector>

    using namespace std;

    int main(int argc, char *argv[]){    vector<int> c;    cout<<"INITIAL"<<endl;    cout<<"Size="<<c.size()<<endl;    cout<<"Capacity"<<c.capacity()<<endl;        cout<<"AFTER"<<endl;    for(int i=0;i<21;i++)    {      c.push_back(i);      cout<<"Size="<<c.size()<<endl;      cout<<"Capacity="<<c.capacity()<<endl;    }        system("PAUSE");    return EXIT_SUCCESS;}

    上述代码的输出结果为:

    INITIAL

    Size=0 Capacity=0

    AFTER

    Size=1 Capacity=1

    Size=2 Capacity=2

    Size=3 Capacity=4

    Size=4 Capacity=4

    Size=5 Capacity=8

    .......

    Size=10 Capacity=16

    ......

    Size=20 Capacity=32

    由此可以看出C++中vector内存的分配


    最新回复(0)