new 和 malloc区别

new为C++中分配内存使用函数,malloc为C中常用分配内存函数。

  1. new/delete配对使用,调用new之后一定要对应出现delete的调用,否则出现内存泄漏;
    malloc/free配对使用,使用原则同理;
  2. 返回值类型
    new:内存分配成功之后返回对象类型指针,类型和对象严格匹配;当内存分配失败时,抛出bac_alloc异常;
    malloc:内存分配成功,返回为void*类型指针,使用时需要进行强制转化;当内存分配失败是返回值为NULL;
  3. 需要注意的一点是new在C++中并不是关键字;

附上大神详细解释:
https://blog.csdn.net/qq_39539470/article/details/80629611

猜你喜欢

转载自blog.csdn.net/yangwangnndd/article/details/89056232