美文网首页
C中的malloc和C++中的new有什么区别?

C中的malloc和C++中的new有什么区别?

作者: saygoodbye_e92e | 来源:发表于2019-10-08 15:49 被阅读0次

malloc和new有以下区别:

(1)new,delete是操作符,只能在C++中使用;

(2)malloc,free是函数,可以覆盖,C,C++中都可以使用;

(3)new可以调用对象的构造函数,对应的delete调用相应的析构函数;

(4)malloc仅仅分配内存,free仅仅回收内存,并不执行构造和析构函数;

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

(6)malloc/free申请空间后得判空,new/delete则不需要。

(7) new直接跟类型,malloc跟字节数个数。

(8)new/delete的底层调用了malloc/free。

相关文章

  • C++面试问题汇总

    C++语言本身问题 代码在内存中的分布都有哪些区,宏定义哪个区域?堆栈有什么区别?malloc和new有什么区别?...

  • C中的malloc和C++中的new有什么区别?

    malloc和new有以下区别: (1)new,delete是操作符,只能在C++中使用; (2)malloc,f...

  • leet code 笔记

    结构体生成内存申请 malloc与new,C++中的指针与引用,C++struct与class的区别 new 不但...

  • 大厂C++面试题要点

    1、malloc和new的区别 (1)操作对象不同:malloc/free是C++/C语言的标准库函数,new/d...

  • 2018-03-01【GCC平台C++17 新特性aligned

    为什么有这个特性 C++的范式是使用new 和 delete来分配与释放内存。这与C中的malloc和free对应...

  • malloc和new的区别

    C语言中的malloc/free和C++中的new/delete的区别和联系 相同点:它们都是对内存进行管理 区别...

  • C++笔试整理

    1、new 、delete 、malloc 、free 的关系malloc 与 free 是 C++/C 语言的标...

  • 面试准备

    C++面试总结 New、Delete和malloc、free的区别? New和Delete自动调用 构造函数 和 ...

  • C++中new/malloc/free/delete的区别

    C++中new/malloc/free/delete的区别 共同点 1 均是用于分配内存的工具, 且分配和释放均是...

  • malloc和New的区别

    1、malloc/free是c中的一个函数,new/delet是c++中的操作符,都是动态分配内存 2、void ...

网友评论

      本文标题:C中的malloc和C++中的new有什么区别?

      本文链接:https://www.haomeiwen.com/subject/ohwbpctx.html