malloc, free和new, delete区别更新中

malloc、free和new、delete的区别

1、malloc和free是函数,可以覆盖,C、C++中都可以使用;new和delete是运算符,可以重载,只能在C++中使用
2、malloc在分配内存前需要大小,new不需要
3、malloc不安全,需要手动类型转换,new不需要类型转换
4、new是先调用构造函数再申请空间,free只释放空间,delete先调用析构函数再释放空间(如果需要)
5、内存不足(开辟失败)时处理方式不同。malloc失败返回0,new失败抛出bad_alloc异常
6、new和malloc开辟内存的位置不同。malloc开辟在堆区,new开辟在自由存储区域

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值