4.29作业

本文详细比较了C语言中的new,delete与malloc,free在内存分配、类型匹配、异常处理、构造析构调用以及可重载性等方面的差异,强调了new/delete用于对象管理,malloc用于普通堆内存分配的特点。
摘要由CSDN通过智能技术生成

1.总结C语言的malloc和free,c++里的new和delete的区别。

1.new delete是关键字,需要编译器支持。malloc和free是库函数,需要头文件支持
2. new分配内存时无需指定内存块的大小,malloc需要计算内存大小
3. new返回对象类型的指针,malloc返回void*
4. new分配失败时抛出异常,malloc分配失败时返回NULL
5. 自定义类型new delete会调用构造和析构,malloc单纯空间分配,不会调用构造和析构
6. 允许重载new delete,malloc是库函数,不能重载
7. new自由存储区分配,malloc堆上分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值