Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2014-06-29 12:56:36 ЛС | профиль | цитата
nesco писал(а):
Да, хотел еще спросить -- а не возникнет ли ситуация, когда вместо #13#10, переводом строки будет только #13, стоит ли это учесть

Я думаю, что фигня все это...
А вот Кладов думает по-другому -- и учитывает это. Можно посмотреть в TStrList.SetText
Смотри сам, в общем

nesco писал(а):
большая ли разница в применении

Да никакой, как мне кажется. Компиляторы - тупы, конечно же. Но не до такой степени
Но я не поленился, и посмотрел дизасм для обоих вариантов - действительно, абсолютно пофиг
Вот он, для твоего фрагмента кода (комментарии мои):
.....
.00410CC9: 43 inc ebx // inc(nStr);
.00410CCA: BE01000000 mov esi,000000001 // nPos := 1;
.00410CCF: 83C102 add ecx,002 ;" " // i := i + 2; или inc(i,2); -- пофиг
.00410CD2: EB01 jmps .000410CD5 // Continue;
.00410CD4: 41 inc ecx // inc(i);
.00410CD5: 3B4DFC cmp ecx,[ebp][-04] // while (i < Value)...
.00410CD8: 7CDB jl .000410CB5
.....
Вот чего БЫ я делал - не использовал БЫ Continue.
По любому, один INC быстрее любого перехода (со сбросом конвейера)
#pas
.....
while i < Value do
begin
.....
inc(nStr);
nPos := 1;
inc(i);
end;
inc(i);
end;
.....
карма: 9

0