我阅读了提升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函数中使用。那么这样做有什么好处呢?
答案 0 :(得分:37)
这样做是为了确保connection
对象超过异步操作:只要lambda处于活动状态(即async。操作正在进行中),connection
实例就会生效同样。