2010-03-20 120 views

回答

4

看来你正在区分处理新表达式和分配函数。 new-expressions除了为类类型调用构造函数外,还负责查找分配函数(因此它被编译器编译)并调用它们。你不能改变这种行为。你可以改变的是分配函数的行为。他们的名字是operator new,它们被新表达式用来分配内存。

请参阅Plain new, new[], delete and delete[] in a nutshell

-1

您可以覆盖new运营商,但不能定义新运营商(如^++)。

如果不是你的意思,请澄清。

2

您可以重载全部四个,即newnew[]deletedelete[]。请参阅the standard的第13.5节。