TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Удаление динамических объектов 

             Также, как  и обычные записи Паскаля,  размещаемые в динами-
        чески распределяемой области памяти, объекты могут удаляться про-
        цедурой Disрose, если они больше не нужны:

             Disрose (P);

             Однако, при  избавлении  от  ненужного объекта может понадо-
        биться нечто большее,  чем простое освобождение занимаемой им ди-
        намической памяти. Объект может содержать указатели на динамичес-
        кие структуры или объекты,  которые нужно освободить или очистить
        в определенном порядке, особенно если вы оперируете сложной дина-
        мической структурой данных.  Что бы ни  нужно  было  сделать  для
        очистки динамического объекта в каком-либо порядке, это все долж-
        но быть объединено в один метод таким образом,  чтобы объект  мог
        быть уничтожен с помощью одного вызова метода:

             MyComрlexObject.Done;

             Метод Done  должен инкапсулировать все детали очистки своего
        объекта, а также всех структур данных и вложенных объектов.

                   Примечание: Мы советуем использовать для удаления  ме-
              тодов, работающих с объектами,  которые более не нужны, ис-
              пользовать идентификатор Done.

             Допустимо и часто бывает полезно определять несколько  мето-
        дов очистки для данного типа объекта.  В зависимости от того, как
        они размещены или используются,  или в зависимости от состояния и
        режима объекта на момент очистки,  сложные объекты могут потребо-
        вать очистки несколькими различными путями


Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz