Partager via


enable_shared_from_this, classe

Aide à générer 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();
    };

Paramètres

  • Ty
    Le type contrôlé par le pointeur partagé.

Notes

La classe du modèle en tant que classe de base publique pour simplifier la création shared_ptr, classe objets que posséder les objets de type dérivé :

class derived
    : public enable_shared_from_this<derived>
    {
    };

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

Les constructeurs, le destructeur, et l'opérateur d'assignation sont protégés permettant d'empêcher tout en accidentel. Le type Ty argument TEMPLATE doit correspondre au type de la classe dérivée.

Configuration requise

En-tête: <mémoire>

Espace de noms : std

Voir aussi

Référence

enable_shared_from_this::shared_from_this

shared_ptr, classe