STL类用于引用计数指针?

时间:2009-03-17 06:46:21

标签: c++ stl smart-pointers reference-counting

这应该是微不足道的,但我似乎无法找到它(除非不存在这样的类!)

智能指针的STL类(或类集)是什么?

更新

感谢您的回复,
我必须说我很惊讶没有标准的实施。

我最终使用了这个:http://archive.gamedev.net/reference/articles/article1060.asp

5 个答案:

答案 0 :(得分:14)

除了已经提到的TR1 shared_ptr之外,STL中没有引用计数指针。

我建议你使用boost :: shared_ptr(下载boost就足够了,没有什么可编译的,它的实现只是头文件)。

您可能还想查看Loki库中的智能指针(同样,仅限标题实现)。

有关可用智能指针的概述,请参阅there

答案 1 :(得分:9)

如果你不想/不能使用Boost 你的编译器实现TR1,你可以使用shared_ptr(借用Boost):

#include <tr1/memory>

...

std::tr1::shared_ptr<Foo> ptr(new Foo);

否则,不,除了香草STL中的std::auto_ptr之外,没有智能指针。

答案 2 :(得分:3)

时间在C ++ 11中前进:

std::shared_ptr
std::weak_ptr

答案 3 :(得分:1)

对于COM对象,请使用CComPtr<>

答案 4 :(得分:0)

在STL PLUS中有一段时间可以实施,请参见source 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."