C和C++如何动态分配和释放内存,他们的区别是什么

 我来答
令妙思井瑾
游戏玩家

2019-07-03 · 非著名电竞玩家
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:600万
展开全部
c是malloc和free,c++是new和delete,区别如下:
(1)new、delete
是操作符,可以重载,只能在C++中使用。
(2)malloc、free是函数,可以覆盖,C、C++中都可以使用。
(3)new
可以调用对象的构造函数,对应的delete调用相应的析构函数。
(4)malloc仅仅分配内存,free仅仅回收内存,并不执行构造和析构函数
(5)new、delete返回的是某种数据类型指针,malloc、free返回的是void指针。
慕容雅娴九琳
2019-08-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:768万
展开全部
C使用
malloc
申请,free
释放。
C++使用new申请,delete释放。
因为C++是面向对象的语言,new操作符不但会分配内存空间,还会调用对应类型的构造函数。同样的,delete的时候会调用构造函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式