Этот вопрос всегда беспокоит меня, особенно когда я программирую на Qt.
Поскольку Qt использует деревья владения объектами, передавая указатель, например. через myBoostSharedPtr.get ()
может неявно передавать владение.
Теперь рассмотрим случай, когда некоторый объект Qt уничтожается, и все дерево объектов уничтожается, но умный указатель все еще жив, например. как член другого класса.
Что произойдет, если впоследствии смарт-указатель будет удален?
Двойное удаление со всеми неприятными последствиями?
Предотвращают ли это некоторые реализации интеллектуальных указателей?