jestem ciekaw, co się dzieje z tego kawałka kodu w Delphi 2010:Dołączanie UnicodeString do WideString w 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;
ile konwersji smyczkowe są zaangażowani, a są jakieś szczególnie złe wydajność mądry?
Wiem, że funkcja powinna po prostu zwrócić wartość UnicodeString
, ale widziałem ten wzorzec w kodzie strumieniowym VCL i chcę zrozumieć proces.
Czy próbowałeś to sprawdzić w oknie procesora debuggera? – OnTheFly
@OnTheFly: W rzeczywistości jest to część projektu C++ Builder i z jakiegoś powodu BCB2010 nie lubi ustawiania punktów przerwania w kodzie VCL ... Postaram się przejść przez kolejne. – Roddy
Jeśli nie masz Delphi do badania wygenerowanego kodu dla twojego tescase, mogę wysłać demontaż, ale naprawdę nie jestem pewien jak go przedstawić w użytecznej formie ... – OnTheFly