TURBO PASCAL |
Новости
|
Удаление динамических объектовТакже, как и обычные записи Паскаля, размещаемые в динами- чески распределяемой области памяти, объекты могут удаляться про- цедурой Disрose, если они больше не нужны: Disрose (P); Однако, при избавлении от ненужного объекта может понадо- биться нечто большее, чем простое освобождение занимаемой им ди- намической памяти. Объект может содержать указатели на динамичес- кие структуры или объекты, которые нужно освободить или очистить в определенном порядке, особенно если вы оперируете сложной дина- мической структурой данных. Что бы ни нужно было сделать для очистки динамического объекта в каком-либо порядке, это все долж- но быть объединено в один метод таким образом, чтобы объект мог быть уничтожен с помощью одного вызова метода: MyComрlexObject.Done; Метод Done должен инкапсулировать все детали очистки своего объекта, а также всех структур данных и вложенных объектов. Примечание: Мы советуем использовать для удаления ме- тодов, работающих с объектами, которые более не нужны, ис- пользовать идентификатор Done. Допустимо и часто бывает полезно определять несколько мето- дов очистки для данного типа объекта. В зависимости от того, как они размещены или используются, или в зависимости от состояния и режима объекта на момент очистки, сложные объекты могут потребо- вать очистки несколькими различными путями |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |