- Код: Выделить всё
{$mode objfpc} {$h+}
function CreateString: pString;
begin
writeln('Создание строки');
new(result);
end;
begin
dispose(CreateString); // печатает «Создание строки» дважды
end.
Ассемблерный листинг выглядит так, будто когда dispose управляемого типа разделяется на Finalize и FreeMem, обе перевычисляют аргумент.