malloc/free与new/delete的区别

本文详细对比了C++中new操作符与C语言中malloc函数的不同之处。解释了new不仅分配内存还会调用构造函数,而malloc仅分配内存;new可以自动计算所需空间大小,malloc需手动指定;new创建的对象可用成员函数访问,malloc分配的内存需通过指针访问等特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.new是个操作符,和什么"+","-","="...有一样的地位.
malloc是个分配内存的函数,供你调用的.

2. new是保留字,不需要头文件支持.
malloc需要头文件库函数支持.

3.new建立的是一个对象,
malloc分配的是一块内存.

4.new建立的对象你可以把它当成一个普通的对象,用成员函数访问,不要直接访问它的地址空间
malloc分配的是一块内存区域,就用指针访问好了,而且还可以在里面移动指针.

5.用new分配的对象会调用对象的构造函数,delete则会调用对象的析构函数
而malloc和free从不调用构造和析构函数,他们只是简单的分配内存。

6.malloc需要指定分配空间大小, 而new是自动计算的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值