Ответ 1
Это делается для того, чтобы объект connection
пережил асинхронную операцию: пока активна лямбда (т.е. выполняется асинхронная операция), экземпляр connection
также жив.
Я прочитал пример кода поддержки asio http-сервера (см. http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/example/cpp11/http/server/connection.cpp), и найти переменную auto self(shared_from_this());
была использована в области захвата ([this, self]
). Но переменная self не используется в лямбда-функции. Тогда какая польза от этого?
Это делается для того, чтобы объект connection
пережил асинхронную операцию: пока активна лямбда (т.е. выполняется асинхронная операция), экземпляр connection
также жив.