Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
AW: Gibt es einen schnelleren Stringvergleich als if S1 = S2
16. Sep 2012, 18:09
Ein String oder auch ein Interface, bzw. dessen Variable, ist ein "Zeiger".
Mehrere Zeiger können auf den selben "Text" zeigen.
In der Referenzzählung wird mitgezählt wieviele Variablen das sind.
Beim Interface wird dann nach der letzen freigegebenen Referenz meistens das Objekt im Interface freigegeben, denn wenn keiner mehr drauf zeigt, dann wird es nicht mehr benötigt und kann weg.
Beim String ist es genauso. Außer das bei Schreibzugriffen vorher noch geprüft wird, ob diese Variable der Einzige Besitzer ist und wenn nicht, dann wird eine Kopie angelegt und diese verändert, damit sich der Inhalt der anderen variablen nicht verändert.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|