news 2026/6/10 13:33:42

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/6/9 21:25:44

Delphi反编译终极教程:5步掌握Windows程序逆向分析核心技能

Delphi反编译终极教程:5步掌握Windows程序逆向分析核心技能 【免费下载链接】IDR Interactive Delphi Reconstructor 项目地址: https://gitcode.com/gh_mirrors/id/IDR IDR(Interactive Delphi Reconstructor)是一款专业的Delphi程序…

作者头像 李华
网站建设 2026/6/10 14:37:33

编程魔法:用11行代码打造动态旋转圣诞树

在数字创意的时代,编程不再是冰冷的代码堆砌,而是充满想象力的艺术创作。螺旋圣诞树项目正是这样一个将数学美学与编程魔法完美融合的典范,仅用极简的代码就构建出了令人惊艳的3D视觉效果。这个基于JavaScript的开源项目,用最简洁…

作者头像 李华
网站建设 2026/6/9 22:32:13

C# 面向对象

一、引言在 C# 语言的学习与应用过程中,面向对象开发(Object-Oriented Programming,简称 OOP) 是最核心、最基础,同时也是最容易被忽视的一部分内容。很多初学者在学习 C# 时,往往能够快速掌握变量、流程控…

作者头像 李华
网站建设 2026/6/10 16:30:31

OpenRPA自动化实战:从入门到精通的完整指南

OpenRPA作为一款免费开源的企业级机器人流程自动化工具,正在改变传统工作方式。无论您是办公文员、IT工程师还是企业管理者,都能通过OpenRPA实现重复性工作的自动化处理,将宝贵时间投入到更有价值的创造性工作中。 【免费下载链接】openrpa F…

作者头像 李华
网站建设 2026/6/10 4:36:11

终极JavaScript天气组件集成指南:3种快速部署方案

终极JavaScript天气组件集成指南:3种快速部署方案 【免费下载链接】weather real weather for Javascript 项目地址: https://gitcode.com/gh_mirrors/weat/weather Weather.js作为专业的JavaScript天气库,为开发者提供轻量级实时天气数据集成解决…

作者头像 李华