首页 > 其他 > 详细

malloc和new的区别

时间:2021-04-10 23:14:56      阅读:41      评论:0      收藏:0      [点我收藏+]

原创文章,转发请注明出处

malloc和new的区别

  1. malloc是C语言的内存申请函数。new是C++语言的运算符。所以在.c文件中无法使用new。
  2. malloc申请空间时,传递的是size。new申请空间时,传递的是type
  3. malloc函数不会调用类/结构体的构造函数。new运算符调用类/结构体的构造函数。
  4. malloc失败时,会返回NULL指针。new失败时,会抛出std::bad_alloc异常。

注意事项

  1. 由于malloc不会调用构造函数,所以不应当使用malloc在.cpp文件中,为类/结构体申请空间。
  2. 使用malloc时,应当对返回值进行判空处理,避免使用空指针。
  3. 使用new时,应当捕获异常,避免使用空指针。

malloc和new的区别

原文:https://www.cnblogs.com/smartcore/p/14642065.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!