C++ 中的free()和delete

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

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

delete 删除数组示例

delete []pBuffer;

你可能感兴趣的:(c++,开发语言,qt)