new为C++中分配内存使用函数,malloc为C中常用分配内存函数。
- new/delete配对使用,调用new之后一定要对应出现delete的调用,否则出现内存泄漏;
malloc/free配对使用,使用原则同理; - 返回值类型
new:内存分配成功之后返回对象类型指针,类型和对象严格匹配;当内存分配失败时,抛出bac_alloc异常;
malloc:内存分配成功,返回为void*类型指针,使用时需要进行强制转化;当内存分配失败是返回值为NULL; - 需要注意的一点是new在C++中并不是关键字;
附上大神详细解释:
https://blog.csdn.net/qq_39539470/article/details/80629611