如何使用auto_ptr作为处理另一个成员变量的成员变量

VNa*_*haM 2 c++ auto-ptr

我有一个这样的课:

class A 
{

 private:

 B* ptr;

}
Run Code Online (Sandbox Code Playgroud)

但是B ptr在不同的A对象之间共享.我如何使用auto_ptr,以便在A被破坏时B保持打开,以便指向同一个ptr的其他A对象可以继续而不会出现问题.这看起来不错:

class A
{
public:

 auto_ptr< B > m_Ptr;

private:

 B* ptr;

}
Run Code Online (Sandbox Code Playgroud)

人们实现这一点的方式有何不同以及他们彼此看到的任何问题/优势......谢谢

Jar*_*Par 6

您正在寻找的是shared_ptr.它处理这种类型的场景.

这是BOOST库的一部分,但不是STL,因此可能无法在您的特定平台上使用.但是,如果你稍微谷歌,你可以找到很多独立的refcounted指针实现,这将满足您的需求.