16. C++ new 和 malloc的区别(速记)

new 和 malloc的区别
  • new不需要传入开辟内存的大小,malloc需要传入开辟内存的大小
  • new和delete是两个关键字,malloc和free是两个函数
  • new的返回值类型安全,malloc的返回值(void)不安全*。
  • new开辟内存失败时,抛出异常bad_alloc, malloc开辟内存失败时,返回NULL
  • new不仅能开辟内存,还能进行初始化,malloc只能开辟内存,不能初始化
  • new开辟的内存叫做自由存储区,malloc开辟的内存叫做堆区
  • new可以重载,malloc不能重载
  • new开辟数组时用[ ]传入数组的大小。

你可能感兴趣的:(C++知识,c++,开发语言)