1、属性
new/detele 是C++关键字,需要编译器支持
malloc/free 是库函数,需要头文件支持
2、参数
使用new操作符申请内存分配时无须指定内存块的大小,编译器会自己计算
malloc则需要显示指出内存尺寸
3、分配成功
new:内存分配成功时返回的是对象类型的指针
malloc:返回void*,需要通过强制转换成我们需要的类型
4、分配失败
new:抛出bac_alloc异常
malloc:返回NULL
5、重载
new/delete可重载
malloc不允许重载
6、内存区域
new:free store上动态分配
malloc:堆上