区别:
1、malloc与free是C/C++语言的标准库函数,new/delete是C++的运算符
2、new运算符根据数据的类型,自动决定其大小,不使用sizeof运算符,而malloc要指定分配内存空间的大小
3、new 返回指向此类型的指针,不用进行强制指针类型转换。malloc返回指向void* 类型的指针,需要进行强制类型转换
4、new是一个分配内存并进行初始化的过程,例如,char *p = new char('a'); 而malloc 仅仅是一个函数,没有初始化的过程,需要程序员手动初始化