и процедуры, написанный на смеси
Рассмотрим пример объявления типа и процедуры, написанный на смеси Pascal и нотации, используемой в этой книге (
reference G - ссылка, которая может быть подсоединена к объекту типа G):
type COMPOSITE = record m:INTEGER r:reference COMPOSITE end ... procedure p is local n: INTEGER c: COMPOSITE s: reference COMPOSITE do ... end
При каждом вызове процедуры p три значения вталкиваются в стек:
Рис. 9.7. Размещение сущностей для процедуры
Тремя новыми значениями являются: целое n, не влияющее на проблему управления объектами (оно исчезнет при завершении процедуры и не ссылается на другие объекты); ссылка s, являющаяся примером категории О1; и объект с типа COMPOSITE. Сам объект содержится в стеке и занятая объектом память может быть использована по завершении работы процедуры. Но он содержит ссылочное поле r, являющееся примером категории О2.
Итак, для определения достижимости объекта в классическом подходе, комбинирующем стековую и динамическую память, следует начать со ссылок в стеке (переменные ссылочного типа и ссылочные поля комбинированных объектов), и последовательно просмотреть все ссылочные поля присоединенных объектов, если они существуют.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий