2016-04-27 65 views
1

的論cppreference現場,我看到下面的句子:解釋在C++中的關鍵字新

這是C++保留關鍵字的列表。因爲它們被使用的語言,這些關鍵字可供重新定義或超載

其中有。但我知道我們可以在C++中重載新的。 所以上面的引文是錯誤的或有別的東西出現的關鍵字

+1

我建議尋找一個替代的站點使用的C++參...一個更可信的聲譽。這將是一個,但很多都可用。 https://msdn.microsoft.com/en-us/library/hh875057.aspx – nckbrz

+4

@nixxbb有什麼不對cppreference.com?它比cplusplus.com好得多 – NathanOliver

+0

你嘗試過'void new(){}'? – molbdnilo

回答

15

你不能重載new。您可以重載operator new,這是new在構造對象之前調用的分配內存的函數。

+0

我的意思是新的只能是一個操作員對嗎?將操作員作爲關鍵字的目的是什麼?如果我們不在C++標準中規定「new」作爲關鍵字,我們仍然可以使用new來做它現在做的事情,只要將new看作預定義的函數吧? –

+0

@ gab - 否,關鍵字'new'不能作爲函數實現。它必須知道類型及其構造函數,這是編譯器的責任。 –