13
. 重载类本身的operator new/delete
1 | using namespace std; |
14
. 本质就是重载new
new
是关键字,编译器看到new
,会转换成operator new
的调用。
15
. 重载new()/delete()
16
. 关于多参new
对应的delete
上面重载了参数不一的
operator new()
,那是不是要重载对应的operator delete()
呢?理论上
delete
的工作只是为了释放内存,所以只需要一个指针就可以了,但C++
在语法上支持多参的delete
重载,但delete
的调用格式只有delete ptr
,所以关于重载的delete
版本什么时候被调用,并不是用户手动调用,而是对应版本的Ctor
发生异常后,会由crt
来调用对应的delete
。