vector中capacity,reserve

vector<int> ivec;
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//0,0
ivec.push_back(10);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//1,1
ivec.push_back(20);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//2,2
ivec.push_back(30);
cout << "大小:" << ivec.size() << ",容量"<<ivec.capacity() << endl;//3,3
ivec.push_back(40);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//4,4
ivec.push_back(50);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//5,5
ivec.push_back(60);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//6,6
ivec.push_back(70);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//7,9
ivec.push_back(80);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//8,9
ivec.push_back(40);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//9,9
ivec.push_back(40);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//10,13
ivec.push_back(1);
ivec.push_back(1);
ivec.push_back(1);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//13,13
ivec.push_back(1);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//14,19

capacity() 和size()区别:
size()为容器实际元素的个数
capacity()为容器目前所能容纳的最大元素个数,一旦容量不够了,就会重新分配一段连续的比原有空间大的内存大小,将原来的元素拷贝到新的容器空间内,继续添加,每一次容量的增长50%

reserve(n)
按需申请n个大小的容量,此时容量capacity就变为n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值