今日、少し臭いコードを見つけました...
TMyObject.LoadFromFile(const filename: String);
begin
if fileExists(filename) then
self := TSomeObjectStreamer.ReadObjectFromFile(filename);
end;
このコードが機能する場合、少なくともメモリの一部がリークしますが、機能しますか?
このように自分に割り当てても大丈夫ですか?
ストリーミングされたオブジェクトが元の自己とは異なるサブクラスのものである場合はどうなりますか?
ストリーミングされたオブジェクトが、元の自己と共通の祖先を持たない別のクラスのものである場合はどうなりますか?