1
.new/delete是C++的关键字,而malloc/free是库函数;
2
.new操作符会根据类型自动计算大小,而malloc需要显示指定;
3
.new操作符内存分配成功时,返回的是对象类型的指针,无须进行类型转换,而malloc返回的是void*需要做强制类型转换;
4
.new在申请空间时可以直接进行初始化,若不初始化,新申请的空间自动置
0
,而malloc无法初始化,只能手动清
0
。
5
.new类对象指针时,会调用构造函数,而malloc不会调用;
6
.delete类对象指针时,会调用析构函数,而free不会调用;