4

我找到了 QPointer。还有其他人吗?

4

2 回答 2

8

Boost -weak_ptr如果您也在使用shared_ptr. 您保留weak_ptr对由shared_ptr生命周期管理的实例的引用。当需要使用底层实例时,shared_ptr使用类的构造函数shared_ptrlock方法将其转换为实例。如果底层实例被删除,操作将失败。使用与类相同的方式是线程安全的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
}
于 2009-05-26T08:11:38.827 回答
6

"boost::weak_ptr" 与 "boost::shared_ptr" 配合得非常好(在 tr1 中也可用)

于 2009-05-26T08:10:10.203 回答