vector的capacity()调用返回vector中最大能够存储的元素个数,也即在下一次需要扩充容量之前能容纳的元素个数。reserve会使容器在必要的时候增长,以便容纳制指定数目的元素。admin管理员组文章数量:1611935
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
vector<int> v, u;
v.reserve(5);
cout << v.capacity() <<endl; //5
v.resize(10);
cout << v.capacity() <<endl; //10
cout << "Initial capaciry of u: " << u.capacity() <<endl;
for(int i = 0; i < 40; ++i)
{
u.push_back(i);
cout << "Now capacity is :" << u.capacity() <<" i: "<<i<<endl;
}
return 0;
}
结果:
5
10
Initial capaciry of u: 0
Now capacity is :1 i: 0
Now capacity is :2 i: 1
Now capacity is :4 i: 2
Now capacity is :4 i: 3
Now capacity is :8 i: 4
Now capacity is :8 i: 5
Now capacity is :8 i: 6
Now capacity is :8 i: 7
Now capacity is :16 i: 8
Now capacity is :16 i: 9
Now capacity is :16 i: 10
Now capacity is :16 i: 11
Now capacity is :16 i: 12
Now capacity is :16 i: 13
Now capacity is :16 i: 14
Now capacity is :16 i: 15
Now capacity is :32 i: 16
Now capacity is :32 i: 17
Now capacity is :32 i: 18
Now capacity is :32 i: 19
Now capacity is :32 i: 20
Now capacity is :32 i: 21
Now capacity is :32 i: 22
Now capacity is :32 i: 23
Now capacity is :32 i: 24
Now capacity is :32 i: 25
Now capacity is :32 i: 26
Now capacity is :32 i: 27
Now capacity is :32 i: 28
Now capacity is :32 i: 29
Now capacity is :32 i: 30
Now capacity is :32 i: 31
Now capacity is :64 i: 32
Now capacity is :64 i: 33
Now capacity is :64 i: 34
Now capacity is :64 i: 35
Now capacity is :64 i: 36
Now capacity is :64 i: 37
Now capacity is :64 i: 38
Now capacity is :64 i: 39
--------------------------------
Process exited after 0.05695 seconds with return value 0
请按任意键继续. . .
版权声明:本文标题:vector的capacity新增长方式(dev c++实测) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728622517a1166535.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论