vector中size()和capacity()取值

vector v;此时没有初始化,所以size()和capacity()都是0;

cout<<v.size()<<endl<<v.capacity()<<endl;

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//此时容器内有一个元素了,那么size()和capacity()都是1

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//此时容器内能够提供的空间capacity()不够用了,需要申请内容,申请多少呢,申请后的大小应该是以前的2倍,那就应该是2了,此时有两个元素,size()为2,capacity()也是2

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//此时容器能够提供的空间是2,又增加元素,不够,需要申请空间,申请后的空间为原来2倍,就是4了,那么size()为3,capacity()为4

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//容器还能够提供一个空间,不需要申请新空间,size()为4,capacity()为4

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//空间不够,需要申请,size()为5,capacity为8

猜你喜欢

转载自blog.csdn.net/speargod/article/details/84862084
今日推荐