Я пытаюсь понять пример эхо-сервера от boost asio. И я не могу понять , как можно много раз перемещаться с одного и того же объекта . Извините, если я просто пропущу простую вещь.
Это метод, который вызывается при запуске. socket_
является членом класса. И, как я вижу, он перемещается каждый раз, когда устанавливается новое соединение. Пожалуйста, посмотрите на пример , чтобы понять всю картину.
void do_accept()
{
acceptor_.async_accept(socket_,
[this](boost::system::error_code ec)
{
if (!ec)
{
std::make_shared<session>(std::move(socket_))->start();
}
do_accept();
});
}