[問題] global operator new/delete overload
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
最近在練習寫memory pool
做完之後想拿來實際使用看看
想法上是去overload global new/delete operator
new沒什麼問題
但delete就麻煩了
因為delete是overload到原本的
所以像是STL裡面觸發到delete的地方
就會跑到我寫的地方去
當然我也是可以判斷它要釋放的memory是不是我分配出去的
如果不是就free它
但這樣似乎不太好
所以想要像new一樣
寫overload一個非預設的delete
再用#define去蓋掉原本的delete
但這樣compiler就不讓我過了@@
error C2541: 'delete' : cannot delete objects that are not pointers
error C2146: syntax error : missing ';' before identifier 'ps'
想請各位板友看看應該怎麼做才好
或者memory pool的使用其實不該去overload global operator?
有什麼其它的作法嗎
謝謝
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/LyB6zLkE
http://codepad.org/S3jIu16t
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.230.120.131
→
11/16 11:00, , 1F
11/16 11:00, 1F
→
11/16 11:01, , 2F
11/16 11:01, 2F
→
11/16 11:09, , 3F
11/16 11:09, 3F
→
11/16 17:25, , 4F
11/16 17:25, 4F
→
11/16 17:26, , 5F
11/16 17:26, 5F
→
11/16 17:27, , 6F
11/16 17:27, 6F
→
11/16 17:43, , 7F
11/16 17:43, 7F
→
11/16 17:45, , 8F
11/16 17:45, 8F
→
11/16 17:51, , 9F
11/16 17:51, 9F
→
11/17 00:47, , 10F
11/17 00:47, 10F
→
11/17 00:50, , 11F
11/17 00:50, 11F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章