Forum: Object-Pascal / Delphi-Language
Delphi
by dizzy,
13. Jul 2005
Aus Gründen der Gleichbehandlung (Geschwindigkeit) von Konstanten und Variablen in meinem Parser (die selbst definierten) war das sinnvoll. Ich habe es dort im Übrigen nicht nur mit primitiven Werten, sonder auch mit Records (:shock:) so gemacht ;). Und es durfte nicht nur ein mal existieren. Ein Singleton wäre nicht nur nicht angebracht gewesen, sondern mit einem Overhead verbunden der nicht...
Forum: Object-Pascal / Delphi-Language
Delphi
by dizzy,
13. Jul 2005
Es gibt noch ne andere Variante, die ich z.B. beim CQParser verwende:
function foo: PInteger;
var
i: PInteger;
begin
GetMem(i, SizeOf(Integer));
i^ := 12345;
result := i;
end;
So in etwa. Klassen die man lokal erzeugt, aber nicht mehr frei gibt sind sozusagen dann auch weiter da, nur wird der Pointer darauf beim Verlassen des Blocks zerstört. Übergibt man den Pointer hingegen...