Пространства имён
Варианты
Действия

std::weak_ptr::lock

Материал из cppreference.com
< cpp‎ | memory‎ | weak ptr

 
 
 
 
std::weak_ptr
Функции-члены
weak_ptr::weak_ptr
weak_ptr::~weak_ptr
weak_ptr::operator=
Модификаторы
weak_ptr::reset
weak_ptr::swap
Наблюдатели
weak_ptr::use_count
weak_ptr::expired
weak_ptr::lock
weak_ptr::owner_before
Функции, не являющиеся членами
std::swap
 
std::shared_ptr<T> lock() const
(начиная с C++11)
Создает новый shared_ptr, которая разделяет собственность на управляемый объект. Если нет управляемого объекта, т.е. *this пуст, то возвращается shared_ptr также пусто.
Оригинал:
Creates a new shared_ptr that shares ownership of the managed object. If there is no managed object, i.e. *this is empty, then the returned shared_ptr also is empty.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Эффективно возвращает expired() ? shared_ptr<T>() : shared_ptr<T>(*this).
Оригинал:
Effectively returns expired() ? shared_ptr<T>() : shared_ptr<T>(*this).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

(Нет)

[править] Возвращаемое значение

shared_ptr которая разделяет право собственности на принадлежащий объекту.
Оригинал:
A shared_ptr which shares ownership of the owned object.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Исключения

noexcept-спецификация:  
noexcept
  (начиная с C++11)

[править] Заметки

И эту функцию и конструктор shared_ptr может быть использован для приобретения временное владение управляемого объекта. Разница в том, что конструктор std::shared_ptr<T> генерирует исключение, когда std::weak_ptr аргумент пустой, в то время как std::weak_ptr<T>::lock() создает пустой std::shared_ptr<T>.
Оригинал:
Both this function and the constructor of shared_ptr may be used to acquire temporary ownership of the managed object. The difference is that the constructor of std::shared_ptr<T> throws an exception when the std::weak_ptr argument is empty, while std::weak_ptr<T>::lock() constructs an empty std::shared_ptr<T>.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Пример

[править] См. также

проверяет, является ли указанный объект уже был удален
Оригинал:
checks whether the referenced object was already deleted
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член) [edit]