我有一个这样的课:
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)
人们实现这一点的方式有何不同以及他们彼此看到的任何问题/优势......谢谢
您正在寻找的是shared_ptr.它处理这种类型的场景.
这是BOOST库的一部分,但不是STL,因此可能无法在您的特定平台上使用.但是,如果你稍微谷歌,你可以找到很多独立的refcounted指针实现,这将满足您的需求.
| 归档时间: |
|
| 查看次数: |
1159 次 |
| 最近记录: |