C++中vector容器改变后如何知道初始大小?

比如我定义一个vector<int>CardsNum1(i);i是一个变量,当i为0时,我想知道i的初始值,代码应该是什么?... 比如我定义一个vector<int> CardsNum1(i); i是一个变量,当i为0时,我想知道i的初始值,代码应该是什么? 展开
 我来答
育知同创教育
2016-03-08 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
c++中vector容器的大小确定方法:
1、vector v;此时没有初始化,所以size()和capacity()都是0;
cout<<v.size()<<endl<<v.capacity()<<endl;
2、v.push_back(1);
cout<<v.size()<<endl<<v.capacity()<<endl;//此时容器内有一个元素了,那么size()和capacity()都是1
3、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
欢乐多Ek
2013-08-01 · TA获得超过478个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:417万
展开全部
i不是0吗?还有什么初始量?难道是CardsNum1?这个是分配场给vector分配的空间,初始值貌似是32,也就是一开始给它分配32个数据长度,但是这些数据长度只要不分配数值的话是不会显示在长度里面的。
追问
i 最后变为0 初始值现在不知 要查找初始
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
archmageee4
2015-11-13 · TA获得超过1516个赞
知道大有可为答主
回答量:1581
采纳率:78%
帮助的人:925万
展开全部
作为使用者你不需要知道vector给你保留了多少.不同平台的实现况且不一样.

如果你需要提高效率.避免反复多次的realloc , 你可以使用 reserve 方法来指定预留多少空间.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e2dbec6
2013-08-01 · TA获得超过273个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:255万
展开全部
CardsNum1.size();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式