Я знаю, что в асинхронных функциях C++ их аргументы действительны на протяжении всего времени их выполнения. Метод-член класса, который также передается асинхронной функции, будет неявно иметь this в качестве первого аргумента. Проблема в том, что это указатель и не имеет понятия жизненного цикла. Лично я предполагаю, что во время выполнения сам объект может быть разрушен, и это может стать диким указателем.
[*]Прав ли я в своих предположениях выше?< /li>
Как гарантировать, что этот не будет разрушен в течение всего выполнения метода. Раньше у меня были классы, наследующие от std::enable_shared_from_this, чтобы получить общий_ptr этого, но это имеет огромное ограничение, которое требует, чтобы этот сам был общим_ptr.
Подробнее здесь: https://stackoverflow.com/questions/791 ... c-function