c++内存管理1:primitives
目录
1、使用malloc() 和free() 分配和释放512字节的内存
3、调用::operator new()和::operator delete()全局函数
一般到CRT里,再往下会导致没有移植性
c++ primitives(c++ 工具)
基本用法
1、使用malloc() 和free() 分配和释放512字节的内存
2、使用new和delete
3、调用::operator new()和::operator delete()全局函数
事实上,第三个就是调用的第一个方法
4、分配器
早先版本
现在分配器的版本
new 表达式
new要做两件事
1、分配内存
2、调用构造函数
delete表达式
1、调用析构函数
2、释放内存
arrary new,arrary delete
因此需要注意加[]在delete时
构造由上往下,析构由下往上
可以发现arrary new的个数有被写到内存块里面
如果没有加上[],那么它当成一般的指针
上面的算式是要调到16的倍数,所以通过计算需要加上pad12个字节的空间
placement new
placement new指的是new(p)或者::operator new(size,void *)这样的形式将不会分配内存,因此不需要进行回收操作
分配内存的途径
容器的分配内存的途径
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战