Как позвонить один раз обратный вызов в C ++ Winrt, используя умные указателиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как позвонить один раз обратный вызов в C ++ Winrt, используя умные указатели

Сообщение Anonymous »

Я должен изменить существующий элемент управления с помощью загруженного < /code> события из статической функции члена, которая должна: < /p>

не хранить ревокер в некотором члене класса, потому что код находится внутри статической функции. Кроме того, я не хочу хранить его где-то еще в мире.

Код: Выделить всё

        auto loadedRevoker = new winrt::Microsoft::UI::Xaml::Controls::CommandBar::Loaded_revoker;
*loadedRevoker = commandBar.Loaded(winrt::auto_revoke, [loadedRevoker](auto&& self, auto&&) {
//revoke event
loadedRevoker->revoke();
delete loadedRevoker;

//do something
});
это работает, но я хочу изменить его на использование умных указателей и не смог выяснить правильный путь.

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-pointers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»