Поделиться через


Класс enable_shared_from_this

Помогает сформировать 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 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