Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
2-1217528751
deras
2008-07-31 22:25
2008.09.14
Как (какой прогой) читать архив форумов?


2-1217687765
BlueDragon
2008-08-02 18:36
2008.09.14
Поиск скрытых файлов


15-1216894108
Кактус
2008-07-24 14:08
2008.09.14
SQL


2-1217936762
abhtr
2008-08-05 15:46
2008.09.14
Проблемы с открытием таблицы Paradox


15-1216726494
Zhekson
2008-07-22 15:34
2008.09.14
qtintf70.dll - кто-нибудь знает, что это за бибилиотека ?




   Наверх