delphi對string采取的是copy on write的處理思路, 即在修改的時候才會發生copy,否則只是原來的引用++;
比如:
1 var 2 str1 : string; 3 str2 : string; 4 begin 5 str1 := 'changym'; 6 //分配內存並讓str1計數管理; 7 8 str2 := str1; 9 //並沒有分配內存, 而是讓str2指向str1的內存, str1的計數++; 10 11 str2 := 'test'; 12 //這個時候才為str2分配新的內存存儲test, 且開始自己管理引用計數;並且str1的計數--; 13 end;