Sdílet prostřednictvím


enable_shared_from_this – třída

Pomáhá generovat 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();
    };

Parametry

  • Ty
    Typ řízený sdíleným ukazatelem.

Poznámky

Třída šablony slouží jako veřejné základní třída pro zjednodušení vytváření shared_ptr – třída objekty, které vlastní objekty odvozeného typu:

class derived
    : public enable_shared_from_this<derived>
    {
    };

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

Chcete-li zabránit nechtěnému zneužití jsou chráněny konstruktory, destruktor a operátor přiřazení.Argument typu šablony Ty musí být typu odvozené třídy.

Požadavky

Záhlaví: <paměť>

Obor názvů: std

Viz také

Referenční dokumentace

enable_shared_from_this::shared_from_this

shared_ptr – třída