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

C++ 动态内存管理

operator new和operator delete函数是两个全局函数,编译器在编译new和delete时会调用这两个函数,其底层分别是封装malloc和free

1.new

new 内置类型

内置类型没有构造函数,所以使用new就是调operator new函数开空间,如果要初始化编译器就加一条赋值指令就是,和malloc差别不大

new 自定义类型

调用operator new函数开空间,然后调用构造函数初始化成员变量

2.delete

delete 内置类型

内置类型没有析构函数,如果是指针变量需要手动free释放资源内存空间,然后调operator delete释放对象本身空间

new 自定义类型

先调用析构函数释放资源内存空间,然后调operator delete释放对象本身空间

operator new [ ]和operator delete [ ]函数也是两个全局函数,编译器在编译new [ ]和delete [ ]时会调用这两个函数,其底层分别是封装(operator new 、构造函数 )和 (析构函数、operator delete函数)

1.new [ ]

调用n次operator new开空间,然后调用n次构造函数初始化成员变量

2.delete [ ]

先调用n次析构函数释放资源内存空间,然后调n次operator delete释放对象本身空间

相关文章:

  • VGG网络模型
  • 云原生后端架构的挑战与应对策略
  • mysql--索引
  • 多平台输入法+助聊APP开发技术指南:从概念到实现
  • 华为云Astro轻应用利用自定义连接器调用第三方接口实际操作
  • 传奇各职业/战士/法师/道士戒指爆率及出处产出地/圣战/法神/天尊/虹魔/魔血/麻痹/超负载/求婚/隐身/传送/复活/护身/祈祷/火焰
  • GAMES202-高质量实时渲染(Assignment 2)
  • 阿里云服务器 篇五(加更):短链服务网站:添加反垃圾邮件功能
  • Unity Text打字机效果,支持富文本
  • C++ 与 Lua 联合编程
  • [预备知识]6. 优化理论(二)
  • 如何配置NGINX作为反向代理服务器来缓存后端服务的响应?
  • 微信小程序 自定义组件 标签管理
  • [SoC]AXI总线Performance验证方案
  • 【AI面试准备】Git与CI/CD及单元测试实战指南
  • [Linux]从零开始的STM32MP157 Buildroot根文件系统构建
  • mindyolo填坑
  • 如何利用dify 生成Fine‑tune 需要的Alpaca 格式数据
  • 正则表达式与文本三剑客grep、sed、awk
  • linux指令中的竖线(“|”)是干啥的?【含实例展示】
  • 青海大学常务副校长(正厅级)任延明已任省卫健委党组书记
  • 浙江“胖都来”开业多位明星祝贺,“胖东来”称已取证投诉,律师:碰瓷侵权
  • 证监会副主席王建军被查
  • 网商银行2024年年报发布,客户资产管理规模超过1万亿
  • 看见“看得见的手”,看见住房与土地——读《央地之间》
  • 运动健康|不同能力跑者,跑步前后营养补给差别这么大?