Condividi tramite


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

Vedere anche

Riferimenti

enable_shared_from_this::shared_from_this

Classe shared_ptr