malloc/free和new/delete的区别和联系

  1. 它们都是动态管理内存的入口。

  2. malloc/free是C/C++标准库的函数,new/delete是C++表达式。

  3. malloc/free只是动态分配内存空间/释放空间。而new/delete除了分配空间还会调用构造函数和析构函数进行初始化与清理。

  4. malloc/free需要手动计算类型大小且返回值会void*,new/delete可自己计算类型的大小,返回对应类型的指针。