C++基础--malloc和new的区别

本文对比了C语言中的malloc/free与C++中的new/delete在内存管理上的不同之处。malloc和free作为函数,仅负责内存的分配和释放;而new/delete作为C++的操作符,在分配/释放内存的同时还会调用构造/析构函数。此外还介绍了它们返回值类型的差异。

(1)malloc在C和C++中都可以使用,用来申请一段内存;申请的内存一定要用free释放,然后把指针置为null;

       new只能在C++中使用,用于动态内存分配;new的对象要delete掉;

(2)new是新建一个对象,相当于构造一个函数,delete时析构函数;malloc仅仅分配内存,free只是对应的释放内存;

(3)new、delete是操作符;malloc、free是函数;

(4)new、delete返回的是数据类型指针;malloc、free返回的是void指针;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值