
05.03.2008, 19:03
|
|
Познающий
Регистрация: 24.02.2006
Сообщений: 34
С нами:
10635910
Репутация:
50
|
|
Сообщение от TaNkist
Очевидно, что длина str не меняется, но компилятор считает, что все, что передается по ссылке сожжет быть изменено, и lstrlen вычисляется много раз. Оптимизированный вариант выглядит так.
Код:
//Так лучше
N:=lstrlen(str);
While i<= n do
Begin
X:=x+ord(str[i]);
Inc(i);
End;
не знаю откуда это вообще взялось... мб старые компилеры такую хрень делали,
не знаю, не смотрел, но явно не в 7-й делфе...

Пис!
|
|
|