Главная страница
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.023 c
11-1193407250
Jon
2007-10-26 18:00
2008.09.14
DirChange filenames


2-1217753286
fokas
2008-08-03 12:48
2008.09.14
аналог TreeView без скролов + ScrollBar


3-1206004854
Alexey
2008-03-20 12:20
2008.09.14
Работа с таблицами Fox Pro в Delphi 7


2-1217484390
a.a.j.
2008-07-31 10:06
2008.09.14
inifiles vs xml


2-1217636950
Res
2008-08-02 04:29
2008.09.14
beginthread