Weak interface ptr::lock: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{DISPLAYTITLE:weak_interface_ptr::lock}} {{function_begin |shared_interface_ptr<_I> lock() const noexcept;|{{weak_interface_ptr::lock brief}}}} {{function return…») |
|||
Строка 3: | Строка 3: | ||
{{function return_value|Объект [[shared_interface_ptr]], ассоциированный с тем же указателем, что и <source lang="cpp" inline>*this</source> и, если последний не пуст, владеющий адресуемым объектом.}} | {{function return_value|Объект [[shared_interface_ptr]], ассоциированный с тем же указателем, что и <source lang="cpp" inline>*this</source> и, если последний не пуст, владеющий адресуемым объектом.}} | ||
{{function_end}} | {{function_end}} | ||
Операция атомарна. |
Текущая версия на 19:24, 2 января 2018
shared_interface_ptr<_I> lock() const noexcept;
Если смарт-указатель ассоциирован с действительным указателем на интерфейс, разделяет владение им и возвращает объект shared_interface_ptr, реализующий это владение. Если же смарт-указатель weak_interface_ptr пуст или ассоциирован с указателем на уже не существующую в памяти реализацию интерфейса, то возвращается пустой shared_interface_ptr.
- Возвращаемое значение:
- Объект shared_interface_ptr, ассоциированный с тем же указателем, что и
*this
и, если последний не пуст, владеющий адресуемым объектом.
Операция атомарна.