Partilhar via


Classe enable_shared_from_this

Ajuda a gerar um 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();
    };

Parâmetros

  • Ty
    O tipo controlado pelo ponteiro compartilhado.

Comentários

A classe de modelo pode ser usada sistema autônomo classe base pública para simplificar a criação de Classe shared_ptr objetos que possuem objetos do tipo derivado:

class derived
    : public enable_shared_from_this<derived>
    {
    };

shared_ptr<derived> sp0(new derived);
shared_ptr<derived> sp1 = sp0->shared_from_this();

Os construtores, destruidor e operador de atribuição são protegidos para ajudar a evitar o uso indevido acidental.O modelo de argumento Tipo de Ty deve ser do tipo da classe derivada.

Requisitos

Cabeçalho:<memória>

Namespace: std::tr1

Consulte também

Referência

<memória>TR1)

Classe shared_ptr