多くの作業をしstd::shared_ptr
ていると、実装が見落とさshared_ref
れます。これはの特殊化であり、 (もちろん、適切な使用法が与えられshared_ptr
た場合)決してラップしないことを保証します。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 );
};