Что значит «распоряжаться»?На некоторых языках вы могли бы написать
myTidyUp() {
delete _RecordSet;
_RecordSet = null;
// not owened so don't delete
_WorkList = null;
}
Но на языке для сбора мусора мы просто кодируем:
myTidyUp() {
_RecordSet = null;
_WorkList = null;
}
Нет разницы, различие между владельцем или не принадлежит жизненному стилю _RecordSet / factory /код реестра.
Если есть какие-то требования к открытию / закрытию жизненного цикла (как у нас в соединениях JDBC), тогда этот протокол определяется зависимым объектом.
Мой предварительный вывод: в собранном мусоре окружающей среды документированный жизненный цикл «принадлежащих» объектов дает нам наше различие.В среде без GC мы управляем уборкой, используя умные указатели там, где это необходимо.Использование умных указателей делает понятным владение.