c++ new和malloc的区别: 1.new在申请空间的时候会调用构造函数, 而malloc不会。 对于自定义类型,new会先调用operator new函数,申请内存(底层申请内存是malloc),然后调用构造函数,最后返回自定义类型的指针。 2.new申请失败时返回bad_alloc, 而malloc返回NULL。 3.new是c++关键字,需要编译器支持, 而malloc是库函数,需要添加头文件 4.new在申请内存的时候不用指明大小,编译器会根据类型自动计算, 而malloc需要显式的指明内存大小。 5.c++允许重载new操作符, 而malloc不允许重载。