news 2026/3/12 17:25:07

new/delete与malloc/free的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
new/delete与malloc/free的区别

背景:

malloc、free是c语言的库函数,是函数

new、delete是C++操作符,语言语法的一部分,编译器直接识别

// 操作符(语言内置) int a = 5 + 3; // + 是操作符 int b = a * 2; // * 是操作符 Base* obj = new Base; // new 是操作符 delete obj; // delete 是操作符 // 函数调用(需要函数名和括号) int c = add(5, 3); // add 是函数名 Base* obj2 = malloc(sizeof(Base)); // malloc 是函数名 free(obj2); // free 是函数名

1.new自动计算所需内存大小 ;malloc需要手动计算所需内存大小。

2.new返回对象类型的指针,delete获取对象类型的指针;malloc返回 无类型的指针void*

3.new是在free store上分配内存,malloc是在 堆 上分配内存

4.new在free store 上分配内存,malloc在堆上分配内存。

5.new会调用构造函数,new可以初始化;malloc只分配内存,不调用构造函数

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 23:15:23

Android MIDI设备连接技术深度解析:开源驱动完整实战指南

Android MIDI设备连接技术深度解析:开源驱动完整实战指南 【免费下载链接】USB-MIDI-Driver USB MIDI Driver for Android 3.1 or later 项目地址: https://gitcode.com/gh_mirrors/us/USB-MIDI-Driver 在移动音乐创作日益普及的今天,Android设备…

作者头像 李华
网站建设 2026/3/5 10:55:09

百度网盘第三方客户端性能对比:突破限速的终极方案深度解析

百度网盘第三方客户端性能对比:突破限速的终极方案深度解析 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 还在为百度网盘官方客户端的下载速度而烦恼吗?面对日益严格的限速策略,技术爱好…

作者头像 李华
网站建设 2026/3/5 11:21:35

从零开始掌握Linux版哔哩哔哩客户端:完整实战指南

从零开始掌握Linux版哔哩哔哩客户端:完整实战指南 【免费下载链接】bilibili-linux 基于哔哩哔哩官方客户端移植的Linux版本 支持漫游 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-linux 在Linux系统上安装哔哩哔哩客户端,为众多Linux…

作者头像 李华
网站建设 2026/3/12 18:47:44

网盘直链解析工具LinkSwift:解锁高速下载新体验

网盘直链解析工具LinkSwift:解锁高速下载新体验 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广&#xff0c…

作者头像 李华
网站建设 2026/3/10 14:19:07

MyBatisX插件

MyBatisX插件MyBatisX插件介绍MyBatisX的核心功能实操示例MyBatisX插件介绍 MyBatisX 是 IntelliJ IDEA 专属集成开发环境插件,面向 MyBatis 及 MyBatis-Plus 生态体系,聚焦于提升 Java 应用数据持久层开发效率,通过无侵入式扩展 IDE 能力&a…

作者头像 李华