Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

物件的自我毀滅?

0 views
Skip to first unread message

三金

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to
※ 引述《Andro (新月詠清風)》之銘言:
: ※ 引述《lthwie (三金)》之銘言:
: : 大家好:
: : 我有一個物件,我可在物件的成員函數中
: : 將物件本身的記憶體釋放,並將指標設為
: : NULL 嗎?這樣是否有問題?
: : ex:
: : delete this;
: : this = NULL;
: 只有你自己曾在constructor或執行過程中
: 以new動態配置的記憶體 才需要特別去用delete做free的動作
: 否則像是靜態宣告的member 你都不需要特別寫(也不應該)程式碼去delete它
: 總之 new/delete應該是一起出現 有對應關係的
: : =====================================
: : 例如,在 VCL 中,TCustomForm::OnClose
: : 事件中,可以設定為
: : Action = caFree;
: : 就可以自我毀滅,是如何實做的呢?
: : 謝謝!
: 這是由VCL的架構所提供的功能
: 等於是廠商自行設計的 與標準的C++語法無關(也沒有這種東西)
: 除非是基於研究理由 不然你可以不用管它是怎麼實作的 :)
我就是希望能設計出可以自我毀滅的物件,但是不想 trace VCL
,有人可以給我一些設計的概念,做出最精簡的作法。

我有想過,可能物件是無法自我毀滅的,一定需要在其他地方
delete 掉,所以我想說物件中,必須有一個成員變數是在設定
是否要delete掉,而有另一個物件或程序會定期檢查所有物件是否
希望被delete,如果是的話,就將其delete掉,不過這樣物件的管理
函數(或是另一個物件)就需要紀錄,程式中所有物件的指標
,不知道有沒有更簡單的作法?

--
※ Origin: 程式設計樂園 ◆ From: ip187074.ntctc.edu.tw

ZZzzz....

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to
※ 引述《lthwi...@cszone.twbbs.org (三金)》之銘言:
: 我就是希望能設計出可以自我毀滅的物件,但是不想 trace VCL

: ,有人可以給我一些設計的概念,做出最精簡的作法。
: 我有想過,可能物件是無法自我毀滅的,一定需要在其他地方
: delete 掉,所以我想說物件中,必須有一個成員變數是在設定
: 是否要delete掉,而有另一個物件或程序會定期檢查所有物件是否
: 希望被delete,如果是的話,就將其delete掉,不過這樣物件的管理
: 函數(或是另一個物件)就需要紀錄,程式中所有物件的指標
: ,不知道有沒有更簡單的作法?
向這種東西, 是屬於語言特性吧...
像JAVA有garbage collection, 就不需要去擔心物件自動毀滅的問題....

--
我好弱,
我好弱,
我好弱弱弱弱弱....

--
[0;31m ╭╮
[1;31m╭═╮ │ ╭═╮ [34m ◆星際個體: [1;33;41m未來 [32;44m最舊 [33;40m小棧 [0m [0m《 [1;36mO [30mldest [31mf [30muture [37mO [1;30mbject [0m》
[0;32m│ │ ┼ │ │ [1;34m ◆通訊頻率: [0;32m -=Ξ [1;36mO [31mf [37mO [33m.twbbs.org [0;32m Ξ=-
[1;32m╰═╯ │ ╰═╯ [34m ◆來源座標: [0;35m mousep.Dorm9.NCTU.edu.tw [0m
[0;36m│ [0m
[1;34m╯ [0m


0 new messages