Boost - 它weak_ptr有一些很好的功能,使你可以安全使用,如果你也在使用shared_ptr.您保留weak_ptr对shared_ptr生命周期管理的实例的引用.当您需要使用底层实例时,shared_ptr使用shared_ptr类的构造函数或lock方法将其转换为实例.如果删除了基础实例,则操作将失败.使用的线程安全与shared_ptr类相同:
shared_ptr<int> p(new int(5));
weak_ptr<int> q(p);
// some time later
if(shared_ptr<int> r = q.lock())
{
// use *r
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |