Freigeben über


enable_shared_from_this-Klasse

Hilft bei der Erstellung von 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();
    };

Parameter

  • Ty
    Der vom freigegebenen Zeiger gesteuerte Typ.

Hinweise

Die Vorlagenklasse kann öffentliche als Basisklasse verwendet werden, um das Erstellen einer shared_ptr-Klasse zu vereinfachen - Objekte, dass Objekte des abgeleiteten Typs besitzen Sie:

class derived
    : public enable_shared_from_this<derived>
    {
    };

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

Die Konstruktoren, Destruktoren und der Zuweisungsoperator geschützt werden, um zu helfen, unbeabsichtigter Missbrauch zu verhindern. Der Vorlagenargumenttyp Ty muss der Typ der abgeleiteten Klasse sein.

Anforderungen

Header: <memory>

Namespace: std

Siehe auch

Referenz

enable_shared_from_this::shared_from_this

shared_ptr-Klasse