new,delete,malloc,free之间的关系


1:malloc和free是C的标准函数库,new和delete是C++运算符,都可以申请动态内存和释放内存,new自动分配,malloc手动计算字节数。


2:malloc和free不能自动完成执行构造函数和析构函数,new和delete不是函数库,能进行构造和析构的调用进而对内存进行更加详细的工作。


3:new是类型安全的,malloc不是。new在编译出错时候会报错,malloc不会报错。


4:new的功能能够覆盖malloc,为何保留malloc,因为C++经常调用,而C只能用malloc和free管理动态内存。

上一篇 下一篇