malloc,free是c的函数,new,delete是c++的运算符此外,new是强制类型的,malloc不是,需要类型转换 当然还有很多不同 new 可以调用构造函数在声明的时候初始化 malloc只是分配空间,需要在其他地方初始化 而delete不仅会释放空间,在释放前会调用析构函数 而且malloc需要指定分配空间大小, 而new是自动计算的
malloc 只是分配指定大小的内存; free 也只是释放之前申请的内存; new 在分配内存后,还会调用分配的对象的构造函数; delete 在释放之前分调用对象的析构函数;