new运算符接受它传递的参数以及分配给全局运算符new的正确版本的大小。
delete运算符是否也接受参数? 如果是,我该如何指定它们?
我的全局运算符delete有参数,我需要它被调用。
答案 0 :(得分:3)
operator delete
除了要释放的内存的void*
指针之外不会使用任何参数。如果您编写自定义operator new
,那么您应该使用operator delete
使用的任何额外参数编写匹配的operator new
,因为语言规范是这样的,如果您的自定义operator new
抛出一个例外,它将尝试根据签名调用匹配的operator delete
。但是,除此之外,参数没有效果。
希望这有帮助!