русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Процедура Dispose


Дата додавання: 2014-04-22; переглядів: 977.


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

 

Dispose(P);

Dispose(Nil);

 

Підсумок

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


 

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

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

а) ADDR

б)@

в)­

 

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

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

а) {$F}

б) {$K}

в) {$M}

 

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

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


Тема 6 Об’єктно-орієнтоване програмування в Pascal. Вказівники, динамічна пам’ять та об’єкти

 

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

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

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

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

Деструктори

Підсумок

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

 


<== попередня лекція | наступна лекція ==>
Організація динамічної пам’яті | Динамічні об’єкти і процедура New


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн