Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизРазличие между двумя типами записей Найти похожие ветки
← →
kyn66 © (2007-04-14 10:09) [0]Уважаемые мастера, подскажите в чем отличие этих двух записей?
TPerArray = packed record
MesE : Integer;
GodE : Integer;
Priz : Boolean;
end;
и
TPerArray = record
MesE : Integer;
GodE : Integer;
Priz : Boolean;
end;
← →
TUser © (2007-04-14 10:14) [1]У второй записи в конце - три пустых (забитых ерундой) байта.
← →
kyn66 © (2007-04-14 10:23) [2]И только? Мне кажется здесь чегость поширше различие...
← →
_Аноним (2007-04-14 10:57) [3]Неупакованная запись выравнивается в памяти.
То есть она не является непрерывной областью памяти, между полями возможен "мусор", каждое новое поле начинается не сразу после окончания предыдущего, а со смещения ,кратного например четырем.
Выравнивание делается для ускорения работы.
Сравни SizeOf(TPerArray) в двух случаях - они разные.
В случае, если запись неупакованная, ее нелья сравнивать с другой такой же с помощью CompareMem, и при стриминге можно налететь на грабли.
← →
kyn66 © (2007-04-14 11:14) [4]Короче лучше использовать упакоанную,я так понял, дабы избежать попадания мусора в мои поля?
← →
DrPass © (2007-04-14 11:18) [5]
> Короче лучше использовать упакоанную,я так понял, дабы избежать
> попадания мусора в мои поля?
Смотря что ты собрался с ней делать. Если тебе нужно работать с записью как с единым целым (сохранять в файл, в БД, сравнивать через CompareMem и т.д.), то лучше упакованную. Если ты работаешь только с ее полями, то лучше неупакованную, быстродействие в этом случае будет выше.
← →
kyn66 © (2007-04-14 12:20) [6]Мне нужно просто держать некоторые параметры для дальнейшей работы. Их штук 5 будет(полей всмысле в записи). Я думаю здесь не принципиально говорить о скорости...
← →
Германн © (2007-04-14 12:51) [7]
> Мне нужно просто держать некоторые параметры для дальнейшей
> работы. Их штук 5 будет(полей всмысле в записи). Я думаю
> здесь не принципиально говорить о скорости...
>
В этом случае вообще говорить не о чем. Разницы никакой.
Что воля, что неволя всё одно. (с)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c