我有這個代碼,不知道我想實現的是否可能。如何在其內部使用lambda函數?
_acceptor.async_accept(
_connections.back()->socket(),
[this](const boost::system::error_code& ec)
{
_connections.push_back(std::make_shared<TcpConnection>(_acceptor.get_io_service()));
_acceptor.async_accept(_connections.back()->socket(), this_lambda_function);
}
);
一旦套接字被接受,我想重用處理程序(又名lambda函數)。這可能嗎?有沒有更好的方法來完成這一點?
+1非常有趣的問題。我以前沒有想到這一點。 – templatetypedef 2012-04-08 19:21:07
https://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/f1b3569c8aac0660?pli=1 – Anonymous 2012-04-08 19:27:56
與您的問題無關,但您應該知道前導下劃線(以及兩個相鄰的下劃線)是保留的,不應該用於應用程序標識符。 – Marc 2012-04-10 23:44:36