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