C++ 中的free()和delete

C++中delete和free()的区别如下:

  • delete 是一个动态释放内存的运算符,而 free() 是一个在运行时销毁内存的函数。
  • delete 运算符用于删除使用 new 运算符或 NULL 指针分配的指针,而 free() 函数用于删除使用 malloc()、calloc() 或 realloc() 分配的指针函数或void指针。
  • 当delete操作符销毁分配的内存时,则调用C++中类的析构函数,而free()函数不调用析构函数;它只从堆中释放内存。
  • delete运算符比 free() 函数快。

delete 删除数组示例

delete []pBuffer;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部