码迷,mamicode.com
首页 > 其他好文 > 详细

new和malloc的区别

时间:2020-02-21 22:35:56      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:函数   null   支持   strong   基于   操作系统   str   编译   new   

属性

new/delete是C++关键字,需要编译器支持
malloc/free是库函数,需要头文件支持

参数

malloc需要指出所需内存的尺寸。

返回类型

new返回对象,malloc分配成功后返回void*

分配失败

new会爆出异常,malloc失败返回NULL

重载

delete可以重载

内存区域

new从自由存储区上为对象动态分配内存空间。自由存储区是一个抽象概念,基于new操作符,凡是new内存申请都从自由存储去抽取。
malloc从堆上分配空间。堆是操作系统维护的一块特殊内存,用于程序内存动态分配,自由存储去不位于堆内。

new和malloc的区别

标签:函数   null   支持   strong   基于   操作系统   str   编译   new   

原文地址:https://www.cnblogs.com/Jun10ng/p/12343166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!