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