Процедура Dispose

Динамічну пам’ять можна не тільки розподіляти, але й вивільняти. Процедура Dispose(P), де P – змінна типу «вказівник», знищує динамічну змінну, на яку вказує вказівник Р. Кожен повторний виклик оператора New повинен попереджатися викликом оператора Dispose. Ця процедура не міняє значення вказівника Р, а тільки повертає в купу пам’ять, раніше зв’язану з цим вказівником. При цьому повторне використання процедури до вільного вказівника призведе до помилки часу виконання. Для уникнення такої помилки звільнений вказівник можна помітити зарезервованим словом NIL.

 

Dispose(P);

Dispose(Nil);

 

Підсумок

Крім звичайних змінних, пам’ять для яких виділяється ще в процесі компіляції, існують також динамічні, які створюються і знищуються під час роботи програми. Щоб користуватися такими зміннми, слід використовувати вказівники. Вказівники бувають типізованими і нетипізованими. З ними можлива операція розіменування. Для створення нової змінної динамічного типу використовується процедура New(), для знищення – Dispose().


 

Питання по темі

1. Який Pascal-оператор дає змогу визначити адресу змінної?

а) ADDR

б)@

в)­

 

2. Який стандартний тип описує нетипізований вказівник

3. Яка директива компілятора керує об’ємом динамічної розподіленої пам’яті?

а) {$F}

б) {$K}

в) {$M}

 

4. Яка процедура створює нову динамічну змінну?

5. Яка процедура знищує динамічну змінну?


Лекція 8

Тема 2 Об’єктно-орієнтоване програмування в Pascal

 

Динамічні об’єкти і процедура New

Розширене використання оператора New

Виявлення помилок конструктора

Ключове слово INHERITED

Деструктори

Підсумок

Питання по темі

 

Динамічні об’єкти і процедура New

Так само, як і будь-які інші типи даних в Pascal-i, об’єкти можна розміщувати в динамічній пам’яті і працювати з ними, використовуючи вказівники. Спеціально для роботи з динамічними об’єктами Pascal включає кілька вдосконалених процедур для розміщення і видалення об’єктів з пам’яті найбільш ефективним способом.

Одним з найпростіших способів розміщення об’єктів у пам’яті є використання процедури New, що традиційно застосовується для роботи з вказівниками.

VAR

Sum:Real;

S: ^TStudent;








Дата добавления: 2015-08-26; просмотров: 839;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.