Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
shared_ptr
состоит из двух основных компонентов:
Указатель на управляемый ресурс: Сырой указатель на объект, которым shared_ptr
управляет.
Указатель на управляющий блок (Control Block): Объект, содержащий метаинформацию об управляемом ресурсе. Этот блок динамически выделяется при создании первого shared_ptr
или weak_ptr
, указывающего на ресурс.
Управляющий блок typically содержит:
shared_ptr
экземпляров, указывающих на ресурс. Когда этот счетчик достигает нуля, ресурс удаляется.weak_ptr
экземпляров, указывающих на ресурс. Ресурс удаляется только когда счетчик сильных ссылок становится нулем, независимо от значения этого счетчика. Однако, управляющий блок удаляется только когда оба счетчика становятся нулем.delete
.Пример создания shared_ptr
и его компонентов на уровне концепции:
cpp
shared_ptr
состоит из двух основных компонентов:
Указатель на управляемый ресурс: Сырой указатель на объект, которым shared_ptr
управляет.
Указатель на управляющий блок (Control Block): Объект, содержащий метаинформацию об управляемом ресурсе. Этот блок динамически выделяется при создании первого shared_ptr
или weak_ptr
, указывающего на ресурс.
Управляющий блок typically содержит:
shared_ptr
экземпляров, указывающих на ресурс. Когда этот счетчик достигает нуля, ресурс удаляется.weak_ptr
экземпляров, указывающих на ресурс. Ресурс удаляется только когда счетчик сильных ссылок становится нулем, независимо от значения этого счетчика. Однако, управляющий блок удаляется только когда оба счетчика становятся нулем.delete
.Пример создания shared_ptr
и его компонентов на уровне концепции:
cpp
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.