@famousman204

Что передается с bind'ом?

Увидел. вот такой код:
_acceptor.async_accept(_socket,
			boost::bind(&Acceptor::handleAccept,
			this,
			boost::asio::placeholders::error));

void	Server::Acceptor::handleAccept(const boost::system::error_code &e)

Возник вопрос, что биндится здесь? Зачем передается this?
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Acceptor::handleAccept - это нестатический метод класса Acceptor.

У настатических методов первым параметром должен быть передан указатель на экземпляр класса. Когда вы вызываете методы класса напрямую, компилятор делает такую подстановку неявно. Когда вы это делаете через bind - нужно своими руками передать такой указатель, в данном случае - this.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы