Как слабый_ptr предотвращает циклические ссылки?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как слабый_ptr предотвращает циклические ссылки?

Сообщение Anonymous »

Я читаю книгу Скотта Мейерса «Эффективный C++». Было упомянуто, что tr1::shared_ptr и tr1::weak_ptr действуют как встроенные указатели, но они отслеживают, сколько tr1::shared_ptr указывают на объект.

Это называется подсчетом ссылок. Это хорошо работает для предотвращения утечек ресурсов в ациклических структурах данных, но если два или более объектов содержат tr1::shared_ptrs, так что формируется цикл, цикл может поддерживать счетчик ссылок друг друга выше нуля, даже если все внешние указатели цикла были уничтожены.

И вот здесь на помощь приходит tr1::weak_ptrs.

Мой вопрос заключается в том, как структурируются циклические данные. сделать счетчик ссылок выше нуля. Я прошу пример программы на C++. Как проблема решается слабым_ptrs? (опять же, пожалуйста, с примером).

Подробнее здесь: https://stackoverflow.com/questions/498 ... references
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»