Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

эстетичное обращение к последнему элементу массива [D7, XP]


cvg ©   (2007-04-25 13:59:00) 

Поскажите pls, есть ли в Delphi более эстетичное обращение к последнему элементу масссива, чем ar[length[ar)-1]?


Riply   (2007-04-25 15:34:00) [1]

> [6] palva ©   (25.04.07 15:18)
Все дело в том, что сабж противоречивый, ибо ar[Pred(length[ar))]
делает тоже самое, что и ar[length[ar)-1],
но не факт, что выдает "обращение к последнему элементу масссива" :)


palva   (2007-04-25 15:18:00) [2]

а что "быстрее" ar[Pred(length[ar))] или ar[High(ar)]

Может быть ar[Pred(length(ar))] и быстрее, но делает оно не то, что обозначено в сабже. Следующий пример печатает предпоследний, а не последний элемент.

{$APPTYPE CONSOLE}
var
 ar: array [1..5] of Integer;
begin
 ar[1] := 1; ar[2] := 2; ar[3] := 3; ar[4] := 4; ar[5] := 5;
 WriteLn(ar[Pred(length(ar))]); // 4
end.


Riply   (2007-04-25 14:25:00) [3]

> [4] Игорь Шевченко ©   (25.04.07 14:21)
>View|Debug Windows|CPU
Я, с тех пор, так и не добралась до ассемблера :(
Но понедельники в этом году еще не кончились :)


Игорь Шевченко   (2007-04-25 14:21:00) [4]


> Просто стало любопытно: а что "быстрее"


View|Debug Windows|CPU


Riply   (2007-04-25 14:14:00) [5]

Просто стало любопытно: а что "быстрее"
ar[Pred(length[ar))] или ar[High(ar)] ?


cvg   (2007-04-25 14:10:00) [6]

Thanks


palva   (2007-04-25 14:09:00) [7]

ar[High(ar)]


Наверх

Титульная страница Поиск, карта сайта Написать письмо