vector中resize和reserve的区别,代码验证
#include <vector>
using namespace std; int main()
{
vector<int> resizeVect;
vector<int> reserveVect; resizeVect.resize(50, 2); //立即分配50个int,每个值为2,默认值为0,如果是class默认构造函数
vector<int>::iterator iter = resizeVect.begin();
printf("out put resizeVect value start\n");
for(; iter != resizeVect.end(); iter++)
{
printf("%d ", *iter);
}
printf("\nout put resizeVect value end\n"); printf("resizeVect capacity %d \n", resizeVect.capacity());
printf("resizeVect size %d \n", resizeVect.size());
resizeVect.push_back(3); //添加一个值后,超出了capacity,capacity增加一半
printf("resizeVect capacity %d \n", resizeVect.capacity());
printf("resizeVect size %d \n", resizeVect.size()); printf("\r\n \r\n"); reserveVect.reserve(50); //预留capacity为50,但是没有内存,当然也不会有值
iter = reserveVect.begin();
printf("out put resizeVect value start\n");
for(; iter != reserveVect.end(); iter++)
{
printf("%d ", *iter);
}
printf("\nout put resizeVect value end\n"); printf("reserveVect capacity %d \n", reserveVect.capacity());
printf("reserveVect size %d \n", reserveVect.size());
reserveVect.push_back(3); //添加一个值后,没有超出capacity,capacity保持不变,size+1
printf("reserveVect capacity %d \n", reserveVect.capacity());
printf("reserveVect size %d \n", reserveVect.size()); system("pause");
return 1; }
vector中resize和reserve的区别,代码验证的更多相关文章
- vector中resize()和reserve()的区别
先看看<C++ Primer>中对resize()函数两种用法的介绍: 1.resize(n) 调整容器的长度大小,使其能容纳n个元素. 如果n小于容器的当前的size,则删除多出来的元素 ...
- vector中resize()和reserve()区别
先看看<C++ Primer>中对resize()函数两种用法的介绍: 1.resize(n) 调整容器的长度大小,使其能容纳n个元素. 如果n小于容器的当前的size,则删除多出来的元素 ...
- vector的resize与reserve的区别
- resize和reserve的区别
转自http://blog.csdn.net/jackywgw/article/details/6248342 首先必须弄清楚两个概念: 1.capacity 指容器在分配新的存储空间之前能存储的元素 ...
- Python中生成器和迭代器的区别(代码在Python3.5下测试):
https://blog.csdn.net/u014745194/article/details/70176117 Python中生成器和迭代器的区别(代码在Python3.5下测试):Num01–& ...
- C++ Daily《2》----vector容器的resize 与 reserve的区别
C++ STL 库中 vector 容器的 resize 和 reserve 区别是什么? 1. resize 改变 size 大小,而 reserve 改变 capacity, 不改变size. 2 ...
- vector 的resize 和 reserve
首先声明,都是转载的,理解知识为主要目的. http://www.cnblogs.com/zahxz/archive/2013/02/20/2918711.html C++内置的数组支持容器的机制,但 ...
- vector 的resize与reserve
最近遇到一个坑,简单说来是resize与reserve的功能混淆了. 如下: 如果调用resize的化,编译会出错,如果给Text提供默认构造函数,则可以编译通过,最终输出的结果为10. 如果调用re ...
- Android中图像变换Matrix的原理、代码验证和应用(二)
第二部分 代码验证 在第一部分中讲到的各种图像变换的验证代码如下,一共列出了10种情况.如果要验证其中的某一种情况,只需将相应的代码反注释即可.试验中用到的图片: 其尺寸为162 x 251. 每种变 ...
随机推荐
- (14)[Xamarin.Android] 异步的网络图片下载
原文 [Xamarin.Android] 异步的网络图片下载 在设计要从网络上接大量数据并且显示在Android Listview中,而这些资料是利用Json格式传送并且数据中包含这图片档案. 那在X ...
- HTML标签CSS属性默认值汇总
HTML标签CSS属性默认值,在你需要还原默认值的时候比较有用. 以前一直在找这份文档,今天偶然在网上看到了.除了inline和block的定义,主要是要注意body|h1~h6|blockquote ...
- 灵活运用Zend框架
$aAwardMem = $this->dao_raward->getAwardAndMem($where,'award_level asc',false,false,false,'awa ...
- iOS6和iOS7代码的适配(1)
苹果的iOS7推出后,对于所有的应用来说都提出了一个天然的需求--适配不同版本的SDK.目前来说,用iOS6的SDK生成的应用,可以在iOS7的系统上跑,UI上也保持了原来的风格样式,这是苹果做的向下 ...
- uber在限制新司机加入了,看看新政策把
您可以点击“车主奖励分组查询”输入您在系统注册的手机号查询您所在奖励分组 5月25日-5月31日 奖励明细 1. 成都优步合作车主第一组 奖励政策: (账户激活时间在2015年5月29日之前) *以下 ...
- zoj 3665 Yukari's Birthday(枚举+二分)
Yukari's Birthday Time Limit: 2 Seconds Memory Limit: 32768 KB Today is Yukari's n-th birthday ...
- JavaSE思维导图(四)
- validate 表单验证
转自博客园:http://www.cnblogs.com/easyinsc/archive/2009/02/27/1407826.html (1)required:true ...
- WinForm 控件的布局(Dock属性)的注意点
对于Dock属性,添加控件的顺序会影响它们停驻的方式.例如,如果你对窗体添加控件A,指示其停驻填充(Fill), 然后你对窗体添加控件B并指示其停驻顶部(Top),控件B将覆盖控件A的上部.原因就是控 ...
- Windows下提升进程权限(转)
from: http://www.oschina.net/code/snippet_222150_19533 windows的每个用户登录系统后,系统会产生一个访问令牌(access token) , ...