Как я могу проверить, действителен ли указатель «этот» класса в функции обратного вызова?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Как я могу проверить, действителен ли указатель «этот» класса в функции обратного вызова?

Сообщение Гость »


класс myClass { публика: пустота веселья() { async_do([это](int j) { я+=j; }); } частный: интервал я = 9; } интервал основной() { std::shared_ptr obj = std::make_shared(); объект->весело(); объект-> сброс(); вернуть 0; } Приведенный выше код: когда мы вызываем fun(), он вызывает async_do(), async_do() немедленно возвращает результат. Когда асинхронная операция завершится, будет вызвана лямбда-функция. Но пока эта асинхронная операция еще выполняется, объект может быть уничтожен. Когда вызывается лямбда, объект больше не существует. Что мне делать в этой функции обратного вызова в этой ситуации?
Спасибо за вашу помощь.
Ответить

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

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

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

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

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