malloc,free是c的函数,new,delete是c++的运算符此外,new是强制类型的,malloc不是,需要类型转换 当然还有很多不同 new 可以调用构造函数在声明的时候初始化 malloc只是分配空间,需要在其他地方初始化 而delete不仅会释放空间,在释放前会调用析构函数 而且malloc需要指定分配空间大小, 而new是自动计算的
malloc 只是分配指定大小的内存; free 也只是释放之前申请的内存; new 在分配内存后,还会调用分配的对象的构造函数; delete 在释放之前分调用对象的析构函数;
本文深入解析了C语言中的malloc和free函数与C++中的new和delete运算符的区别,包括它们在内存分配、初始化、构造函数调用、析构函数调用以及空间大小指定上的差异。

被折叠的 条评论
为什么被折叠?



