当前位置: 首页 > news >正文

vector中 resize()和reserve()

1.resize()改变容器大小

resize除了预留内存以外,还会调用容器元素的构造函数,不仅分配了N个对象的内存,还会构造N个对象。从这个层面上来说,resize()在时间效率上是比reserve()低的。

 2.reserve()容器大小管理

用于预留内存。

3.例子

#include <iostream>
#include<vector>
using namespace std;int main(){vector<int> a(5,1);cout<<a.size()<<" "<<a.capacity()<<endl;//5 5//表示定义的向量的size和容量a.resize(10);cout<<a.size()<<" "<<a.capacity()<<endl;//10 10//resize会改变容器中元素的数目,同时元素的容量也增大了a.resize(6);cout<<a.size()<<" "<<a.capacity()<<endl;//6 10//resize改变元素数目,后面的元素被删除,但是不会更改容量a.reserve(20);cout<<a.size()<<" "<<a.capacity()<<endl;//6 20//reserve不改变元素数目,增大了元素的容量a.reserve(10);cout<<a.size()<<" "<<a.capacity()<<endl;//6 20//当reserve更改的小于当前容量大小时,什么也不做,容量不会发生改变。a.reserve(3);cout<<a.size()<<" "<<a.capacity()<<endl;//6 20//当reserve更改的小于当前元素数目时,什么也不做,元素数目和容量都不会发生改变。return 0;
}

 4.resize不能再次初始化

int main(){vector<int> a;a.resize(5,0);for(int i=0;i<a.size();i++){a[i]=5;}a.resize(5,0);for(auto b:a)cout<<b<<" ";return 0;
}
//输出:
5 5 5 5 5 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 对比state和props的区别
  • Anaconda的一些常见命令
  • 卷积神经网络 - 卷积与池化作为一种无限强的先验篇
  • AI智能名片小程序在促销性内容营销中的创新应用与策略分析
  • 数据结构(8):排序
  • 强光照射对半导体材料在紫外线下稳定性的影响
  • AutoDL下huggingface下载模型位置问题
  • Java之类和对象
  • 手机三要素接口怎么对接呢?(一)
  • 【AI大模型】大模型应用开发学习线路
  • Mysql的聚集索引、散列度、联合索引以及回表和覆盖索引
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • Java中等题-最长回文子串(力扣)
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • 技术周总结 2024.07.29 ~ 08.04周日(MyBatis, 极限编程)
  • ----------
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • CentOS 7 修改主机名
  • es6
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • MySQL-事务管理(基础)
  • SpingCloudBus整合RabbitMQ
  • spring + angular 实现导出excel
  • Web Storage相关
  • 工程优化暨babel升级小记
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 三栏布局总结
  • 深度学习入门:10门免费线上课程推荐
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 双管齐下,VMware的容器新战略
  • 跳前端坑前,先看看这个!!
  • 详解NodeJs流之一
  • 怎样选择前端框架
  • 阿里云移动端播放器高级功能介绍
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • $ git push -u origin master 推送到远程库出错
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (7)STL算法之交换赋值
  • (C语言)球球大作战
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十八)Flink CEP 详解
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一