作者h12258 (叮噹)
看板C_and_CPP
標題[問題] free 和new可以同時使用嗎
時間Tue May 5 23:02:22 2009
可以用FREE
釋放NEW配置的記憶體嗎
int *ptr=new int ;
free(ptr);
COMPILE會過
程式跑也不會當掉
這樣寫會有什麼影響呢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.172.211
1F:→ iamivers0n:不會叫destructor 05/05 23:04
2F:→ h12258:那會有什麼影響呢 就結果來說記憶體是都釋放掉了吧 05/05 23:10
3F:→ ilway25:有的destructor會再把物件包起的指標也釋放之類,就有問題 05/05 23:16
4F:推 kkdlin:不是喔...你寫個物件陣列你就知道了 05/05 23:16
5F:推 saxontai:C++ 請用 new & delete,C 請用 malloc & free 05/06 00:01
6F:推 littleshan:絕對不要這樣做,一方面是 destructor 的問題 05/06 00:06
7F:→ littleshan:另一方面是new/delete並不一定是用malloc/free實作的 05/06 00:07
8F:→ littleshan:若物件有用 operator overload 設計自己的 new/delete 05/06 00:08
9F:→ littleshan:那你用 free 去釋放它,絕對死得很難看 05/06 00:09