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

vector是如何扩容的

vector容器扩容

vector是成倍扩容的,一般是2倍。

vector管理内存的成员函数

开始填值

没有填值之前,vector元素个数和容量大小都为0

加入一个值之后:

加入两个值:重点在加入三个值,此时容量变为4:加入第4个值,还是4.但当加入第五个值时,因此4不够用了,就又2倍开了块空间:当我们加入第9个值的时候,又不够用了,此时会2倍扩容开16空间:

实际上我们只需要容量为10字节就够用了,因此,我们在事先知道我们需要多大空间时,可以预先分配合适的空间以提高效率:这样效率就会快很多,不仅省了很多内存,并且省去了很多内存重新分配和释放的时间。

但是我们如果用光了预先配置的空间,也是会2倍扩容的:

这个时候我们可以跳过shrink_to_fit这个接口来释放未使用的空间:

相关文章:

  • flutter 自定义TabBar 【top 0 级别】
  • Selector SelectionKey基础学习
  • 【Excel/Matlab】绘x-y图并求切线和截距(详细图解)
  • C# IList 与List区别二叉树的层序遍历
  • C语言实现ARM MCU SWD离线调试器
  • cesium 融合视频
  • [Ubuntu 18.04] RK3399搭建SSH服务实现远程访问
  • 六、ZooKeeper Java API操作
  • KaiwuDB 多模数据库-时序性能优化
  • 【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例
  • R语言中的机器学习
  • 15.oracle的 listagg() WITHIN GROUP () 行转列函数使用
  • Docker 容器日志查看和清理
  • c语言,输入整数n(行数,本例为4),按照如下规则打印数字图片 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
  • 接口测试 —— 接口测试的意义
  • [LeetCode] Wiggle Sort
  • Babel配置的不完全指南
  • gulp 教程
  • Java的Interrupt与线程中断
  • Java精华积累:初学者都应该搞懂的问题
  • Making An Indicator With Pure CSS
  • Ruby 2.x 源代码分析:扩展 概述
  • 动态魔术使用DBMS_SQL
  • 对超线程几个不同角度的解释
  • 复杂数据处理
  • 你真的知道 == 和 equals 的区别吗?
  • 深度解析利用ES6进行Promise封装总结
  • 小程序测试方案初探
  • 一些关于Rust在2019年的思考
  • MPAndroidChart 教程:Y轴 YAxis
  • 阿里云ACE认证学习知识点梳理
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (03)光刻——半导体电路的绘制
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (39)STM32——FLASH闪存
  • (javascript)再说document.body.scrollTop的使用问题
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)计算机毕业设计大学生兼职系统
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)socket Aio demo
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .gitignore文件---让git自动忽略指定文件
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net 流——流的类型体系简单介绍
  • .NET构架之我见
  • .NET企业级应用架构设计系列之结尾篇
  • .NET使用存储过程实现对数据库的增删改查
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @Bean, @Component, @Configuration简析
  • @JsonFormat与@DateTimeFormat注解的使用
  • @取消转义
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504