问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

new和malloc的区别,free和delete的区别

发布网友 发布时间:2022-05-02 11:16

我来回答

2个回答

热心网友 时间:2022-06-19 17:19

1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。
2, 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。
3,因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。
4,C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存

new 是个操作符,和什么"+","-","="...有一样的地位

简单的说:
malloc,free是c的函数,new,delete是c++的运算符

此外,new是强制类型的,malloc不是,需要类型转换
当然还有很多不同
new 可以调用构造函数在声明的时候初始化
malloc只是分配空间,需要在其他地方初始化

而delete不仅会释放空间,在释放前会调用析构函数

而且malloc需要指定分配空间大小, 而new是自动计算的

热心网友 时间:2022-06-19 17:20

1)new和delete是内置运算符,malloc和delete是函数
2)new可以直接得到申请对象或者数组的指针,malloc的返回值是void*,需要自己强制类型转换
3)如果是C++的程序,忘记malloc和free吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 使用new与malloc分配内存有什么区别? malloc和new的区别 new和malloc的区别深入解析 new 和 malloc 的区别 c中malloc与new的区别 我是一个品管,老板叫我写工作日志,我不知道怎么写 染衣这门技术怎么写实习日志,急用 求丝绸销售实习日记,急!急!急! 求服装辅料公司的实习日记 服装陈列师实习日志26篇 服装店的实习日记10篇(每篇200字左右) 急求 服装企业实习日记 服装专卖店的实习日志,不用太多,每篇2 3句话就可以。 手机听筒没声音 免提也没声音怎么回事 修苹果6 plus 后置摄像头需要多少钱 苹果6plus修后置摄像头需多少钱 微信发的小视频怎么保存 手机SIM卡后面能看到电话号码吗? 手机卡上的数字是电话号码吗? 是不是所有手机卡都带手机号 C语言:都是动态分配内存,malloc和new有什么区别?malloc分配的内存是连续的吗?new分配的内存不连续吗 new和malloc的区别 csdn c++中new和malloc有哪些区别,变量分配的空间有什么区别吗? new和malloc进行空间分配的区别 malloc与new之间的转换 C++中new出得对象与C中的malloc出得有什么联系和区别? 关于malloc new 关于new malloc说法错误的是 小米3怎么判断手机主板是不是坏了? 小米3怎么判断手机主板是不是坏了。 我开通优酷会员自动续费!但我已经提前取消了!为何还自动续费,无语了 天涯明月刀能放几只宠物出来跟随是怎么搞的? 小米主板坏了手机有什么反应 小米手机主板坏了会出现什么情况 天刀宠物怎么跟随 小米4手机主板坏了有什么症状 天刀猎户怎样放多个宠物 小米2s主板坏了会是什么症状 天涯明月刀,未设置互动宠物,无法使用互动技能。那要怎么设置? 小米2s主板坏了有什么现象