1.new内存分配失败时,会抛出bac_alloc异常,它不会返回NULL;malloc内存分配失败时会返回NULL。
2.使用new操作符申请内存分配时无需指定内存块的大小,而malloc则需要显式的指出所需内存的尺寸。
3.operator new / operator delete可以被重载,而malloc/free并不允许重载。
4.new/delete会调用对象的构造函数/析构函数以完成对对象的构造/析构,而malloc则不会。
5.malloc与free是C++、C语言的标准库函数,new、delete是c++运算符。
6.new操作符从自由存储区上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。