全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1589
推到 Plurk!
推到 Facebook!

請教 DELETE 和 FREE 的差別

答題得分者是:dllee
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-09 21:06:36 IP:218.170.xxx.xxx 未訂閱
動態產生物件後如果要刪除他我們可以使用    delete 物件名稱    或    物件名稱->free    請問這兩者有差別嗎?謝謝 
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-09 22:30:21 IP:61.224.xxx.xxx 未訂閱
如果是在 BCB 中,請使用 delete     BCB 線上說明中也會提到「請勿直接使用 Free」,因為它算是由 Delphi 轉到 BCB 時所留下來的東西,只供 VCL 內部使用,如果要釋放記憶體在 BCB 中還是請用 delete 吧。應該當您叫用 delete 時,在 delete 的過程中 Free 的 Method 就會被叫用了,如果 BCB 的 delete 除了叫用 Free 還有一些額外的處理的話,那只叫用 Free 可能會有未釋放的記憶體區塊喔。    用 delete 也比較像在用 C++ ,有 new 就要有 delete 喔  <>沒空更新的網頁... href="http://dllee.adsldns.org">http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-09 22:55:12 IP:218.170.xxx.xxx 未訂閱
謝謝 dllee ,這個問題小弟一直弄不清楚ㄋ 
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-10 12:04:00 IP:210.66.xxx.xxx 未訂閱
Bjarne Stroustrup有說到 「free()不會對釋放的記憶體啟用解構式... 如果用new配置物件,再用free()刪除,簡直是自找麻煩。」    相對的malloc()也不會做初始化的動作, 所以應優先選用new和delete... 我也盡量都是用這兩個 發表人 -
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-10 12:31:54 IP:218.170.xxx.xxx 未訂閱
謝謝 gemi0305  
系統時間:2024-05-18 5:23:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!