Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.13;
Скачать: CL | DM;

Вниз

record или packed record   Найти похожие ветки 

 
wq   (2009-10-27 17:16) [0]

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

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


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


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


 
oldman ©   (2009-10-27 17:19) [1]


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


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


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


в учебнике


 
sniknik ©   (2009-10-27 17:24) [2]

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


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


> oldman


> sniknik

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


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

> wq   (27.10.09 17:16)  

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

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

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


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


> Юрий Зотов

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



Страницы: 1 вся ветка

Текущий архив: 2009.12.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1256244709
Drowsy
2009-10-23 00:51
2009.12.13
BDE Administrator.


2-1256215062
Ивутин П.
2009-10-22 16:37
2009.12.13
Поиск TColumnEh по заголовку


15-1255638608
Юрий
2009-10-16 00:30
2009.12.13
С днем рождения ! 16 октября 2009 пятница


11-1169181906
AlexM
2007-01-19 07:45
2009.12.13
VCL и KOL


15-1254430882
Kerk
2009-10-02 01:01
2009.12.13
Олимпийский стадион в Сочи 2014