2010-03-20 158 views

回答

4

看來你正在區分處理新表達式和分配函數。 new-expressions除了爲類類型調用構造函數外,還負責查找分配函數(因此它被編譯器編譯)並調用它們。你不能改變這種行爲。你可以改變的是分配函數的行爲。他們的名字是operator new,它們被新表達式用來分配內存。

請參閱Plain new, new[], delete and delete[] in a nutshell

-1

您可以覆蓋new運營商,但不能定義新運營商(如^++)。

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

2

您可以重載全部四個,即newnew[]deletedelete[]。請參閱the standard的第13.5節。