Класс 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