找回密码
 立即注册
查看: 69|回复: 1

C中的malloc与C++中的new有什么区别?

[复制链接]

12

主题

11

回帖

66

积分

注册会员

积分
66
发表于 2023-2-2 17:22:02 | 显示全部楼层 |阅读模式
C中的malloc与C++中的new有什么区别?
回复

使用道具 举报

12

主题

11

回帖

66

积分

注册会员

积分
66
 楼主| 发表于 2023-2-2 17:23:30 | 显示全部楼层
1、new/delete是C++的操作符,而malloc/free是库函数;
2、new在调用时会先为对象分配内存,再调用对象的构造函数,而malloc不会
3、使用malloc为对象指针分配内存,要明确指定分配内存的大小,而new不需要
4、new作为操作符,可以被重载,而malloc不行
5、new分配内存成功,则返回对象指针;而malloc分配成功会返回void*类型指针
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|粤嵌技术交流空间

GMT+8, 2025-7-7 17:26 , Processed in 0.711727 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表