malloc是C++语言的标准库函数;而new是C++语言中的操作符。new返回指定类型的指针,并且可以自动计算所需空间的大小;而malloc必须要由用户自己计算所需空间大小,并在返回后强行转换为实际类型的指针。malloc只管内存分配,不能对所得的内存进行初始化,其所获内存空间中上的值是随机的;而new除了分配内存处,还会对对象做初始化。