- new的动作:默认调用全局operator new ,指针转型,构造。delete的动作:析构,然后默认调用全局operator delete。全局的operator new & 全局的operator delete 就是做malloc & free。如果operator new & operator delete 被重载,则会调用重载版本。加一层oeprator new中间层,提供更多的编程灵活性,可以重载opeartor new & opeartor delete 做一些简单内存管理如内存池等。
- new[] 搭配delete[],不然可能造成内存泄漏。new 是从前往后构造,delete是从后往前析构。
- placement new 是一个用于在已分配的内存块上构造对象的语法
- 联系:placement new 可以利用 operator new 分配的内存来构造对象
- 将每一个类单独要做的内存管理(如实现一个内存池,内存池由链表管理)的操作,设计成一个class allocator,每一个需要做内存管理的类,就引入static allocator。复用内存池操作的代码。
posted @
2023-08-22 15:22
stu--wy
阅读(
42)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!