Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Указатель на массив


cyber-pilot ©   (2010-01-31 10:10:00) 

Уже несколько раз встречал конструкцию типа такой:


type
 PMas = ^TMas;
 TMas = array[1..1000] of Real;

...

var
 vMas: PMas;


А потом, чтобы работать с массивом выделяют для него память с помощью GetMem или каким-то другим способом. У меня вопрос, чем этот способ лучше использования обычных динамических массивов?


Jeer   (2010-01-31 18:37:00) [1]


> У меня вопрос, чем этот способ лучше использования обычных
> динамических массивов?


В общем типовом случае забудь про него.


Вася   (2010-01-31 16:37:00) [2]

хм...а если написать так:

type
PMas = ^TMas;
TMas = array[0..0] of Real;

var vMas: PMas;


что-то кардинально изменится?обращаться к vMas[20] ведь всё равно можно будет(надо тока следить чтоб за пределы не выйти).


Плохиш   (2010-01-31 11:11:00) [3]


> А потом, чтобы работать с массивом выделяют для него память
> с помощью GetMem или каким-то другим способом. У меня вопрос,
>  чем этот способ лучше использования обычных динамических
> массивов?
>

Динамические массивы имелись не всегда.


Ганя   (2010-01-31 10:21:00) [4]

Ничем не лучше, просто это ручное управление временем жизни, а не автоматическое. Может потребоваться например в случае, когда массив - локальная переменная, но не должна автоматически уничтожиться при выходе из процедуры \ метода (например, ее добавили в глобальный список)


Наверх

Титульная страница Поиск, карта сайта Написать письмо