Зачем нужны несколько указателей на один и тот же ресурс?

Данный вопрос возник, когда прочитал про std::shared_ptr

Объясните, пожалуйста(можно с примерами кода или "на пальцах"), где могут пригодиться несколько указателей на один и тот же ресурс и почему нельзя пихать один и тот же указатель всем "нуждающимся"


Ответы (1 шт):

Автор решения: kurasan

где могут пригодиться несколько указателей на один и тот же ресурс

Много где, любой разделяемый ресурс. Например, много указателей на какой-то синглтон.

почему нельзя пихать один и тот же указатель всем "нуждающимся"

std::shared_ptr так и делает: указатель один и тот же внутри. А отличается от простого указателя тем, что подсчитывает "нуждающихся" и автоматически очищает память, когда они заканчиваются.

→ Ссылка