最近一些工作里需要处理些内存的东东,需要把delete,free,delete[]分清楚。
跟了下几个汇编
delete汇编化是:
- call destructor.
- call delete(void*)->free+一些判断
free就是free
delete[]是
- 调相应数量的destructor,
- delete(void*)
so:
- 所以如果是POD的话,错调了delete(应该调用delete[])并不会造成内存泄漏,一般的内存泄露是来源与destructor少掉了时候。
- 对于POD的话,不用在意delete[]和delete调用的正确与否,甚至直接free也可以
下面是c++的delete和free

本文探讨了C++中delete、free及delete[]的区别与联系,并详细分析了它们在内存管理中的作用,特别是对于POD类型数据的处理方式。
1219

被折叠的 条评论
为什么被折叠?



