Мне любопытно, что происходит с этим фрагментом кода в Delphi 2010:
function foo: WideString;
var
myUnicodeString: UnicodeString;
begin
for i:=1 to 1000 do
begin
myUnicodeString := ... something ...;
result := result + myUnicodeString; // This is where I'm interested
end;
end;
Сколько преобразований строк задействовано и являются ли они особенно плохими с точки зрения производительности?
Я знаю, что вместо этого функция должна просто возвращать UnicodeString
, но я видел этот анти-шаблон в коде потоковой передачи VCL и хочу понять процесс.