3.6.1 类摘要

2013-10-07 13:13:21 · 作者: · 浏览: 69

3.6  weak_ptr

weak_ptr是为配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->。它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。

3.6.1  类摘要

weak_ptr的类摘要如下:

  1. template<class T> class weak_ptr  
  2. {  
  3. public:  
  4.       weak_ptr();  
  5.  
  6.       template<class Y> weak_ptr(shared_ptr<Y> const & r);  
  7.       weak_ptr(weak_ptr const & r);  
  8.  
  9.       ~weak_ptr();  
  10.  
  11.       weak_ptr & operator=(weak_ptr const & r);  
  12.  
  13.       long use_count() const;  
  14.       bool expired() const;  
  15.       shared_ptr<T> lock() const;  
  16.  
  17.       void reset();  
  18.       void swap(weak_ptr<T> & b);  
  19. }; 

weak_ptr的接口很小,正如它的名字,是一个"弱"指针,但它能够完成一些特殊的工作,足以证明它的存在价值。