Classe enable_shared_from_this
Consente di generare un shared_ptr.
template<class Ty>
class enable_shared_from_this {
public:
shared_ptr<Ty> shared_from_this();
shared_ptr<const Ty> shared_from_this() const;
protected:
enable_shared_from_this();
enable_shared_from_this(const enable_shared_from_this&);
enable_shared_from_this& operator=(const enable_shared_from_this&);
~enable_shared_from_this();
};
Parametri
- Ty
Il tipo controllato dal puntatore condiviso.
Note
La classe modello può essere utilizzata come classe base pubblica per semplificare la creazione Classe shared_ptr quelli possieda gli oggetti del tipo derivato:
class derived
: public enable_shared_from_this<derived>
{
};
shared_ptr<derived> sp0(new derived);
shared_ptr<derived> sp1 = sp0->shared_from_this();
Costruttori, il distruttore e l'operatore di assegnazione sono protetti per impedire l'utilizzo improprio accidentale. Il tipo Ty di argomento di modello deve essere il tipo della classe derivata.
Requisiti
Header: <memory>
Spazio dei nomi: std