虽然std::shared_ptr
有很多工作,但我有点想念一个shared_ref
实现。这是 的一种特殊化shared_ptr
,它保证它永远不会包装 a nullptr
(当然,在正确使用的情况下)。我有点想知道为什么它不在 C++11 标准中。实施过程中是否有市长问题?在我的头顶上,我想不出任何东西。
编辑:
我希望有一个类似于:
template <typename T>
class shared_ref {
public:
shared_ref( T&& ref );
T& get();
T* operator&() const;
template< class Y >
void reset( Y&& obj );
long use_count() const;
bool unique() const;
void swap( shared_ref& r );
};