Главная страница
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.028 c
15-1217003932
Германн
2008-07-25 20:38
2008.09.14
NASA разместила в Интернете единую базу своих видеоматериалов


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


15-1216979977
Jolik
2008-07-25 13:59
2008.09.14
Есть работа...


2-1217104217
++vist++
2008-07-27 00:30
2008.09.14
Как считать коды яркостей RGB


15-1216094479
123-ий
2008-07-15 08:01
2008.09.14
Шлюз Интернета