共用方式為


enable_shared_from_this Class

說明如何產生 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();
    };

參數

  • Ty
    共用指標控制項的型別。

備註

樣板類別可以做為公用基底類別來簡化建立 shared_ptr Class 物件中擁有該衍生型別的物件:

class derived
    : public enable_shared_from_this<derived>
    {
    };

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

建構函式、解構函式和指派運算子保護預防意外錯誤使用。 樣板引數型別 Ty 必須為衍生類別的型別。

需求

標題: <memory>

命名空間: std

請參閱

參考

enable_shared_from_this::shared_from_this

shared_ptr Class