new和malloc有什么区别啊?

bebeto 2002-11-18 09:07:35
不都是动态分配内存吗?都返回一个指针?有什么区别啊?
...全文
57 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhy311 2002-11-19
  • 打赏
  • 举报
回复
malloc是无异常操作,就是当声请内存失败的时候她自身是不会抛出异常的
而new是会抛出异常的

前者是c里面用的东西,后者是c++里面的东西
jian 2002-11-18
  • 打赏
  • 举报
回复
malloc不会调用构造函数
bebeto 2002-11-18
  • 打赏
  • 举报
回复
谢谢各位大虾的指点!我知道了!~
sunshinee 2002-11-18
  • 打赏
  • 举报
回复
你可以去看看林锐写的“高质量C/C++编程”,上面有这些东东的介绍
sokoban 2002-11-18
  • 打赏
  • 举报
回复
大佛说的对!
是的C++也可以用malloc,那是为了兼容C
bebeto 2002-11-18
  • 打赏
  • 举报
回复
Solstice(大佛) :

只有这一点区别吗?呵呵!
newgina 2002-11-18
  • 打赏
  • 举报
回复
malloc再分配空间的时候不能调用构造函数
陈硕 2002-11-18
  • 打赏
  • 举报
回复
关键是new会自动调用class的constructor,而malloc对constructor一无所知。总的来说,new和delete配对,malloc和free配对是最基本的要求。
bebeto 2002-11-18
  • 打赏
  • 举报
回复
不对啊,C++也可以用malloc的。
bugfree 2002-11-18
  • 打赏
  • 举报
回复
c: malloc
c++: new

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧