在lambda函数中使用auto self(shared_from_this())变量的原因是什么?

inj*_*joy 24 c++ lambda boost boost-asio c++11

我阅读了boost 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])中使用.但自变量未在lambda函数中使用.那么这样做有什么好处?

Igo*_* R. 42

这样做是为了确保connection对象超过异步操作:只要lambda处于活动状态(即async.操作正在进行中),connection实例也是活动的.