delete和delete[]的误用

Posted hanhuihanhui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delete和delete[]的误用相关的知识,希望对你有一定的参考价值。

new和new[],delete和delete[]

 


 

内置类型可以混用,没有错误


 

使用默认析构函数的自定义类型可以混用,没有错误

 


 

当使用自定义析构函数的自定义类型时,混用出错

 


 

用delete[] 替换delete 时

使指针向高地址偏移4个字节后再调用delete[],运行通过

没有调用析构函数//原因还不知道


 

使用delete 替换 delete[]时

 

只调一次析构函数,而没有调用三次


 

总结:

除了自定义析构函数的自定义类型外,其他的类型可delete和delete[]混用。

 

以上是关于delete和delete[]的误用的主要内容,如果未能解决你的问题,请参考以下文章

delete和delete[]的区别(转载)

[c++04]delete和delete[]的区别

[c++04]delete和delete[]的区别

delete 和 delete [] 的真正区别

C++中delete和delete[]的区别

truncate;和delete;