Я читаю книгу Скотта Мейерса «Эффективный C++». Было упомянуто, что tr1::shared_ptr и tr1::weak_ptr действуют как встроенные указатели, но они отслеживают, сколько tr1::shared_ptr указывают на объект.
Это называется подсчетом ссылок. Это хорошо работает для предотвращения утечек ресурсов в ациклических структурах данных, но если два или более объектов содержат tr1::shared_ptrs, так что формируется цикл, цикл может поддерживать счетчик ссылок друг друга выше нуля, даже если все внешние указатели цикла были уничтожены.
И вот здесь на помощь приходит tr1::weak_ptrs.
Мой вопрос заключается в том, как структурируются циклические данные. сделать счетчик ссылок выше нуля. Я прошу пример программы на C++. Как проблема решается слабым_ptrs? (опять же, пожалуйста, с примером).
Подробнее здесь: https://stackoverflow.com/questions/498 ... references
Как слабый_ptr предотвращает циклические ссылки? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение