C++中new和malloc的区别

参考原文

new/delete和malloc/free的区别

  • malloc和free是库函数,而new和delete是C++操作符
#inlcude <stdlib.h>
  • new自己计算需要的空间大小,malloc需要指定大小
int* a = new int;
int* b = (int*)malloc(sizeof(int));
  • new在动态分配内存的时候可以初始化对象,调用其构造函数,delete在释放内存时调用对象的析构函数。而malloc只分配一段给定大小的内存,并返回该内存首地址指针,如果失败,返回NULL。

猜你喜欢

转载自blog.csdn.net/xp731574722/article/details/79553758