мне очень интересно, что происходит с этим фрагментом кода в Delphi 2010:UnicodeString к Добавление данных WideString в Delphi
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 и хочу понять этот процесс.
Вы пытались посмотреть это в окне процессора отладчика? – OnTheFly
@OnTheFly: На самом деле это часть проекта C++ Builder, и по какой-то причине BCB2010 не любит устанавливать точки останова в коде VCL ... Я попробую переступить еще кое-что. – Roddy
Если у вас нет Delphi для изучения сгенерированного кода для вашего тезиса, я могу опубликовать разборку, но я действительно не уверен, как представить его в полезной форме ... – OnTheFly