delete与free的区别

来源:互联网 发布:天刀脸型数据男 网盘 编辑:程序博客网 时间:2024/05/21 22:03

1.   delete用于释放new分配的空间。

       free用于释放malloc分配的空间。

2.  delete[] 用于释放new[]  分配的空间。

3.  delete 释放空间时会调用相应对象的析构函数。

4.调用free之前需要检查需要释放的指针是否为空。

而调用delete则不需要。

5.两者最好不要混用。

即new分配的空间最好不要用free来释放。

    malloc分配的空间最好不要用delete来释放。


个人记法:

一长一短(单词长度)。

即delete用来释放new分配的空间。

    free用来释放malloc分配的空间。


补充:new在分配空间时会调用调用对象的构造函数,对对象进行初始化。

        而malloc只是分配内存。

0 0
原创粉丝点击