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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了malloc/free与new/delete的区别与联系相关的知识,希望对你有一定的参考价值。

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

  2. malloc/free 是c/c++标准的库函数,而new/delete是c++的操作符;

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

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

以上是关于malloc/free与new/delete的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章

new/delete 与 malloc/free的区别

new/delete与malloc/free的区别

浅谈new/delete和malloc/free的用法与区别

C++ new/delete与 malloc/free

C++—new/delete/malloc/free详解

面试中常被问到new/delete和malloc/free区别