Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1217625174
self.name
2008-08-02 01:12
2008.09.14
stream1.read(stream2,size); почему не работает?


2-1217593979
l_v
2008-08-01 16:32
2008.09.14
NetShareAdd


15-1216793329
Jeer
2008-07-23 10:08
2008.09.14
Linux Festival


15-1216992640
Vlad Oshin
2008-07-25 17:30
2008.09.14
Зачем сайты используют мое время в системе!?


2-1217528751
deras
2008-07-31 22:25
2008.09.14
Как (какой прогой) читать архив форумов?