Compartir a través de


enable_shared_from_this Class

Ayuda generan 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
    El tipo controla el puntero compartido.

Comentarios

La clase de plantilla se puede usar como clase base pública para simplificar crear objetos de shared_ptr Class los propios objetos de tipo derivado:

class derived
    : public enable_shared_from_this<derived>
    {
    };

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

Proteger los constructores, destructor, y el operador de asignación para ayudar a evitar mal uso accidental.El tipo Ty de argumento de plantilla debe ser el tipo de la clase derivada.

Requisitos

encabezado: <memoria>

espacio de nombres: std

Vea también

Referencia

enable_shared_from_this::shared_from_this

shared_ptr Class