我想知道什么是传递给提到的方法的对象的生命周期。async_resolve和async_connect params生存期
async_resolve
ip::basic_resolver::async_resolve(const query & q, ResolveHandler handler);
(1)我需要保持解析器的生命,直到处理程序被调用? (是)
(2)是否async_resolve复制query
对象? (我传递一个栈上创建的 - 是的)
{
boost::asio::ip::tcp::resolver::query query(host_, port_);
resolver_.async_resolve(query,);
}
(3)由返回值在处理boost::asio::ip::tcp::resolver::iterator
? (是)
async_connect
template<..> void async_connect(basic_socket<Protocol, SocketService> & s,
Iterator begin, ComposedConnectHandler h);
(4)begin
按值传递? (是)
(5)我需要保持resolver
还活着吗? (无)