【发布时间】:2009-04-16 13:27:02
【问题描述】:
我正在阅读这个问题 Deleting a const pointer 并想了解更多关于 delete 行为的信息。现在,根据我的理解:
delete expression 分两步工作:
- 调用析构函数
- 然后通过调用 operator delete 释放内存(通常通过调用
free())。
operator delete 接受void*。作为测试程序的一部分,我重载了operator delete,发现operator delete 不接受const 指针。
由于 operator delete 不接受 const 指针,并且 delete 内部调用 operator delete,Deleting a const pointer 是如何工作的?
delete 在内部使用 const_cast 吗?
【问题讨论】:
标签: c++ delete-operator