今天我发现了一段代码,感觉有点不太好。
TMyObject.LoadFromFile(const filename: String);
begin
if fileExists(filename) then
self := TSomeObjectStreamer.ReadObjectFromFile(filename);
end;
如果这段代码能够正常工作,它至少会泄露一些内存,但是它是否有效呢?
以这种方式分配self是否可以?
如果流对象与原始的self不属于同一个子类,会怎样呢?
如果流对象是一个与原始的self没有共同祖先的不同类,会怎样呢?