关于malloc和new之间在处理内存分配的各自机制方面的差异?

use*_*099 7 c c++ memory-management

malloc和new在处理内存分配的各自机制方面有什么区别?

Rob*_*obᵩ 6

  • malloc不会抛出bad_alloc异常new.
    • 因为malloc不会抛出异常,所以你必须检查它的结果NULL(或c ++ 11及更高版本中的nullptr),这是不必要的new.但是,new可以在不set_new_handler设置功能的情况下使用它,就像设置功能时一样
  • malloc并且free不要调用对象构造函数和析构函数,因为没有对象C.
  • 看到这个问题这篇文章.