Прочитать на английском

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


Шаблон структуры winrt::weak_ref (C++/WinRT)

Тип, представляющий слабую ссылку на объект или интерфейс C++/WinRT . Дополнительные сведения и примеры кода приведены в разделе Сильные и слабые ссылки в C++/WinRT.

Синтаксис

template <typename T>
struct weak_ref

Параметры шаблона

typename T Тип объекта C++/WinRT или интерфейса слабой ссылки на который представлен объектом weak_ref . Это тип целевого объекта слабой ссылки.

Требования

Минимальный поддерживаемый пакет SDK: пакет SDK для Windows версии 10.0.17134.0 (Windows 10 версии 1803)

Пространство имен: winrt

Заголовок: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (включен по умолчанию)

Конструкторы

Конструктор Описание
Конструктор weak_ref::weak_ref Инициализирует новый экземпляр структуры weak_ref при необходимости с копией входных данных.

Функции элементов

Функция Описание
функция weak_ref::get Увеличивает число ссылок и извлекает объект или интерфейс C++/WinRT, на который слабо ссылается объект weak_ref . Способ определить, можно ли разрешить weak_ref на строгой ссылку, — вызвать get и попробовать.

Операторы-члены

Оператор Описание
weak_ref::operator bool Проверяет, принадлежит ли объект weak_ref слабой ссылке или объекту nullptr. Способ определить, можно ли разрешить weak_ref на строгой ссылку, — вызвать weak_ref::get и попробовать.

Конструктор weak_ref::weak_ref

Инициализирует новый экземпляр структуры weak_ref при необходимости с копией входных данных.

Синтаксис

weak_ref(std::nullptr_t = nullptr) noexcept;
weak_ref(T const& object);
weak_ref(com_ptr<T> const& object);

Параметры

object Объект или интерфейс C++/WinRT или интеллектуальный указатель, который инициализирует объект weak_ref .

функция weak_ref::get

Увеличивает число ссылок и извлекает объект или интерфейс C++/WinRT, на который слабо ссылается объект weak_ref . Способ определить, можно ли разрешить weak_ref на строгой ссылку, — вызвать get и попробовать.

Синтаксис

auto get() const noexcept;

Возвращаемое значение

Объект или интерфейс C++/WinRT слабо ссылается на объект weak_ref или nullptr если целевой объект слабой ссылки был уничтожен.

weak_ref::operator bool

Проверяет, принадлежит ли объект weak_ref слабой ссылке или объекту nullptr. Способ определить, можно ли разрешить weak_ref на строгой ссылку, — вызвать weak_ref::get и попробовать.

Синтаксис

explicit operator bool() const noexcept;

Возвращаемое значение

true Значение , если объект weak_ref владеет слабой ссылкой; false , если объект weak_ref владеет nullptrобъектом .

См. также раздел