Ich frage mich irgendwie, warum es nicht im C++11-Standard enthalten ist. Gibt es größere Probleme bei der Umsetzung? Auf den ersten Blick fällt mir keins ein.
BEARBEITEN:
Ich würde eine Schnittstelle ähnlich der folgenden erwarten:
Code: Select all
template
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 );
};
Mobile version