从delphi中的函数/过程返回简单对象的最佳实践是什么?
例如。2种代码:
将创建的对象作为引用传递,在 Proc 中填充对象,然后将其销毁
procedure Proc(var Obj: TMyObject);
begin
// populate Obj
end;
O := TMyObject.Create;
try
Proc(O);
// manipulate populated object
finally
O.Free;
end;
或 从函数中获取创建的对象,在操作后销毁
function Func: TMyObj;
begin
Result := TMyObj.Create;
end;
O := Func;
if O <> nil then
begin
try
// manipulate
finally
O.Free;
end;
end;