我有一個類,我們稱之爲TMyObject,它應該返回一個稍微修改後的副本。 因此,其功能之一應返回相同類型的對象本身:我可以創建與自身類型相同的對象嗎?
function TMyObject.TrimEnds: TMyObject;
begin
Result:= TMyObject.Create;
Result.DoStuff;
edn;
我能做到這一點?這是合法的,我在做什麼?
我的意思是,我已經試過了,編譯器允許我這樣做,但我想知道是否會有很長時間/隱藏的負面影響。
任何想法將不勝感激。 謝謝。
編輯: 新的稍作修改的副本將被保存到磁盤。這是某種'另存爲...'。 工作原理:原始對象創建自身副本,指示該副本進行一些更改並保存到磁盤。然後原件釋放副本。這樣我保持原始對象在內存中不變,但我有這個修改版本的磁盤。
你可能會認爲我的對象擁有一張圖片。我需要的是一個函數,返回一個稍微修改後的圖片副本。
大。 非常感謝大家。 – Ampere
確保你釋放資源。否則,你的對象留在內存中,永遠不會釋放。那麼,在程序終止時就是這樣。 – Scoregraphic