Класс STL для ссылочных указателей?
Это должно быть тривиально, но я не могу найти его (если такой класс не существует!)
Что такое класс STL (или набор классов) для интеллектуальных указателей?
UPDATE
Спасибо за ответы,
Должен сказать, что я не удивлен, что нет стандартной реализации.
В итоге я использовал этот http://archive.gamedev.net/reference/articles/article1060.asp
Ответы
Ответ 1
За исключением уже упомянутого TR1 shared_ptr, в STL нет указателя с подсчетом ссылок.
Я предлагаю вам использовать boost:: shared_ptr (загрузки boost будет достаточно, компилировать нечего, его реализация только в заголовке).
Вы также можете просмотреть интеллектуальные указатели из библиотек Loki (опять же, только для заголовка).
Обзор доступных интеллектуальных указателей см. там.
Ответ 2
Если вы не хотите/не можете использовать Boost и, ваш компилятор реализует TR1, вы можете используйте shared_ptr
(заимствованный из Boost):
#include <tr1/memory>
...
std::tr1::shared_ptr<Foo> ptr(new Foo);
В противном случае нет, нет умных указателей, кроме std::auto_ptr
в ванильном STL.
Ответ 3
Время марширует на, в С++ 11:
std::shared_ptr
std::weak_ptr
и др.
Ответ 4
Для COM-объектов используйте CComPtr < > .
Ответ 5
Существует альтернатива, реализованная в течение некоторого времени в STL PLUS, см. источник forge
"STLplus was originally intended as a library to extend the STL by providing missing container data structures such as smart-pointers, matrices, trees and graphs."