element_type* get() const noexcept;
T& operator*() const noexcept;
Remarks: Когда T является типом массива или cv void, не указано, объявлена ли эта функция-член. Если он объявлен, то не указывается, каков его возвращаемый тип, за исключением того, что объявление (хотя и не обязательно определение) функции должно быть правильно сформировано.
T* operator->() const noexcept;
Remarks: Когда T это тип массива, не указывается, объявлена ли эта функция-член. Если он объявлен, то не указывается, каков его возвращаемый тип, за исключением того, что объявление (хотя и не обязательно определение) функции должно быть правильно сформировано.
element_type& operator[](ptrdiff_t i) const;
Remarks: Когда T не является типом массива, не указывается, объявлена ли эта функция-член. Если он объявлен, то не указывается, каков его возвращаемый тип, за исключением того, что объявление (хотя и не обязательно определение) функции должно быть правильно сформировано.
long use_count() const noexcept;
Returns: Количество включенных shared_ptr объектов, *this которым принадлежит общая собственность *this, или 0 когда *this оно пусто.
[ Note: get() == nullptr не подразумевает конкретного возвращаемого значения use_count(). ] — end note
[ Note: weak_ptr<T>::lock() может повлиять на возвращаемое значение use_count(). ] — end note
[ Note: Если несколько потоков могут повлиять на возвращаемое значение use_count(), результат следует рассматривать как приблизительный. В частности, use_count() == 1 это не означает, что доступ через ранее уничтоженный объект shared_ptr в каком-либо смысле завершен. ] — end note
explicit operator bool() const noexcept;
template<class U> bool owner_before(const shared_ptr<U>& b) const noexcept;
template<class U> bool owner_before(const weak_ptr<U>& b) const noexcept;
Returns: Неуказанное значение такое, что
x.owner_before(y) определяет строгий слабый порядок, как определено в [alg.sorting];
по отношению эквивалентности , определенное owner_before, !a.owner_before(b) && !b.owner_before(a)два shared_ptr или weak_ptr экземпляры эквивалентны тогда и только тогда , когда они имеют право собственности или являются пустыми.