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