[問題] 請教一個關於overloading的問題

看板C_and_CPP (C/C++)作者 (我要盡全力幫忙KOBE老大)時間16年前 (2010/06/09 20:40), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
最近在研究一本書叫做C++的編成規範, 其中談到了如果針對特定的class定義了一個operator new: Class C { //... static void* operator new(size_t, MemoryPool&); } 他談到這一行會hide住以下的三個不同的overloading版本 void* operator new(size_t) void* operator new(size_t, std::nothrow_t) throw; void* operator new(size_t, void*); 這是為什麼呢? 另外請教這三行的作用是什麼呢? 抱歉造成大家的困擾了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.30.1

06/09 21:41, , 1F
那三行是三種global的normal new, nothrow new,和placement
06/09 21:41, 1F

06/09 21:42, , 2F
new, 會被你在class內自定義的operator new遮住
06/09 21:42, 2F
文章代碼(AID): #1C3ulJ_G (C_and_CPP)
文章代碼(AID): #1C3ulJ_G (C_and_CPP)