Вверх ↑
Ответов: 2059
Рейтинг: 132
#1: 2015-09-25 08:56:07 ЛС | профиль | цитата
Netspirit писал
Tad, это никак не противоречит тому, что присвоение String := PChar приводит к копированию.

Да, - вообще, никаких действий не происходит. (даже не увеличивается счётчик ссылок на строку "string(счётчик-длина-(PChar(строка-0)))
Грубо говоря PChar это кусок той же String.
Netspirit писал
Грубо говоря:
var
S1, S2: string;
begin
S1 := '123456789';
S2 := S1;
// Здесь S2 = S1, точнее, строки не только равны побуквенно, а это одна и та же строка
Delete(S2, 1, 1);
// Здесь S2 <> S1, что значит, что в S2 произошло копирование строки S1 и затем в S2 была присвоена обработанная строка
end;

Железно.


карма: 6

0