Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Внизrecord / class / object — что будет лучше Найти похожие ветки
← →
Ilya2008 (2008-07-31 12:08) [0]Здравствуйте.
У меня в программе есть примерна такая ситуация:TRecord1 = record
...
case Byte of
0: Data2: PRecord2;
1: Data2: PRecord3;
...
end;
Records: array of TRecord1;
Указатели в вариантном рекорда мне совсем не нравятся, и вдруг подумал, а что еслиrecord
заменить наclass
, который при создании в конструкторе автоматически будет выделать память под Record2 или Record3 ... а при уничтожении очищать память. А потом вспомнил что еще есть иobject
.
Из всего этого у меня два вопроса:
1) На сколько возрастет потребление памяти от применения классов вместо record"ов? (массив состоит например из 500 элементов)
2) Что стоит использовать record / class / object?
← →
Правильный$Вася (2008-07-31 12:09) [1]
> PRecord2;
и шо это за тип?
← →
Ega23 © (2008-07-31 12:11) [2]
> 1) На сколько возрастет потребление памяти от применения
> классов вместо record"ов? (массив состоит например из 500
> элементов)
Почти не возрастёт.
> 2) Что стоит использовать record / class / object?
Смотря когда, смотря где. Я бы через class сделал.
← →
Медвежонок Пятачок © (2008-07-31 12:12) [3]юзай оракол
← →
Медвежонок Пятачок © (2008-07-31 12:12) [4]там и классы есть и рекорды
← →
Игорь Шевченко © (2008-07-31 12:14) [5]
> 2) Что стоит использовать record / class / object?
все переписать
← →
Anatoly Podgoretsky © (2008-07-31 12:23) [6]BaseClass
FirstClass(BaseClass)
SecondClass(BaseClass)
← →
Медвежонок Пятачок © (2008-07-31 12:27) [7]лучше xml. здесь и думать нечего
← →
guav © (2008-07-31 15:59) [8]> 1) На сколько возрастет потребление памяти от применения
> классов вместо record"ов? (массив состоит например из 500
> элементов)
1. экземпляр класса больше экземпляра рекорда на один указатель, т.е. на 4 байта.
2. (кроме случаев хитрого переопледеления NewInstance) класс всегда в куче менеджера памяти Delphi в выделенной для него памяти. рекорд может располагаться где угодно, могут все 500 в одном блоке памяти.
Выводы из этого согласно своему сценарию использования.
> 2) Что стоит использовать record / class / object?
Между record и class выбрать то, что подходит. Вопрос использования object я бы не ставил.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.06 c