Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
Delphi 12 Athens
|
AW: Inhalt von einem Array in ein anderes Array kopieren?
13. Sep 2017, 21:05
CopyOnWrite gibt es aus mir total unverständlichen Gründen nur bei Strings (das sind intern auch nur sowas wie ein Array of Char).
Na gut, ganz unverständlich nicht, da man so die Speicherzugriffe beschleunigt hat, weil da rein garnichts geprüft wird, bevor man in ein Feld was rein schreibt.
Aber ich versteh nicht, warum man das nicht dennoch aktivieren kann, bzw. warum es standardmäßig nicht aktiviert ist und man es optional deaktivieren kann.
Beim Schreibzugriff auf ein Char eines Strings, wird die Referenzzählung geprüft und wenn man nicht der Einzige ist, dann wird der String vorher kopiert. (UniqueString)
Bei dynamischen Arrays passier das aber nicht.
Dort kann/muß man via Copy, was dem UniqueString entspricht, selber dafür sorgen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu (13. Sep 2017 um 21:14 Uhr)
|