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

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

record или packed record [D7, XP]


wq ©   (2009-10-27 17:16:00) 

Подскажите новичку.

Есть две записи, которые объявлены так:
BirthDay1 = record
Day:Byte;
Mon:Byte;
Year:Word;
end;


BirthDay2 = packed record
Day:Byte;
Mon:Byte;
Year:Word;
end;


Вопрос какой из этих вариантов "правильнее". Интересует packed record. В каких случаях
следует использовать packed record, а в каких record?
Или подскажите где об этом можно почитать.


wq   (2009-10-28 18:52:00) [1]


> Юрий Зотов

Огромное спасибо за краткий и внятный ответ.


Юрий Зотов   (2009-10-27 18:20:00) [2]

> wq   (27.10.09 17:16)  

В первом варианте поля выравниваются, а в настройках компилятора проставляется КАК они выравниваются. Если поля выравниваются на границу двойного слова, то запись займет 10 байт (4+4+2).

Во втором варианте поля НЕ выравниваются независимо от настроек компилятора. Поэтому запись займет 4 байта (1+1+2).

Второй вариант занимает меньше памяти, но первый быстрее работает. Что для Вас важнее - решать Вам.


wq   (2009-10-27 17:28:00) [3]


> oldman


> sniknik

спасибо. Вопрос закрыт


sniknik   (2009-10-27 17:24:00) [4]

> "правильнее".
а, что "правильнее" - ехать на машине или идти пешком? если скажеш первое то мне нужно в соседнюю комнату, если второе то в соседний город...


oldman   (2009-10-27 17:19:00) [5]


> Вопрос какой из этих вариантов "правильнее".


зависит от задачи


> Или подскажите где об этом можно почитать.


в учебнике


Наверх

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