für 2 Strings:
Delphi-Quellcode:
S := S1 + S2;
>>
SetLength(s, Length(s1) + Length(s2));
MoveMemory(@s[1], @s1[1], Length(s1));
MoveMemory(@s[1 + Length(s1)], @s2[1], Length(s2));
nja, aber eigentlich macht Delphi intern auch nix anderes und wandelt das etwa in
S := LStrCat(s1, s2); um, welches auch sowas macht
aber
Delphi-Quellcode:
s := Copy(s1, 10, 20) + Copy(s2, 1, 10);
>>
SetLength(s, 30);
MoveMemory(@s[1], @s1[10], 20);
MoveMemory(@s[21], @s2[1], 10);
Copy würde ja je einen neuen temporären String anlegen.
!! alles ohne Prüfung der Parameter