1.new只需要一个类型即可自动计算要分配的空间大小,而malloc则需要手动计算其大小
2.new是类型安全的,malloc不是类型安全的
例如:
3.new返回的是指定类型的指针,malloc返回的是void*指针,需要强制类型转换为相应的指针
4.new分配内存失败会抛出badalloc异常,malloc分配内存失败会返回nullptr
5.new在调用的时候会先开辟一块内存空间,然后调用构造函数,最后返回对应类型的指针,malloc只进行内存开辟然后返回void*指针;delete调用的时候先调用析构函数,然后释放指针所管理的资源,free只释放资源。