Удалить указатель на объект

Рейтинг: 0Ответов: 1Опубликовано: 03.03.2015

Всем привет!

Есть такой вопрос. Допустим, у меня есть несколько указателей на один объект (то есть они клоны). Мне нужно написать деструктор для такого объекта. Проблема в том, что я, допустим, хочу удалить только один указатель, т.к. закончил с ним работу, а остальные, да и сам объект, мне нужны.

Может кто-нибудь подсказать, как это сделать без утечки памяти?

Просто такую проблему, конечно, можно решить, сначала зануляя очередной указатель. Но если я дойду так до последнего, то сам объект не удалится. Как я сам думаю, нужно проверить при очередном удалении, есть ли указатели на этот объект, но как это сделать?

Буду признателен, если кто-то ответит. Заранее спасибо.

Ответы

▲ 3

Вы не поверите, но это уже давно изобрели и стандартизировали. Называется shared_ptr. Если не сможете нагуглить - дам ссылку.