有什么用ASIO ::占位符::错误(What's the use of asio::pla

2019-08-20 03:08发布

在ASIO库将在它的许多实施例中,即一个误差参数; http://think-async.com/Asio/asio-1.5.3/src/examples/echo/async_tcp_echo_server.cpp

这是什么参数的意义呢? ASIO是否真正填充有错误这个参数?

如果我从我的处理函数删除它,它编译罚款。

Answer 1:

其实, asio::placeholders::error相当于_1 Boost.Bind占位符,所以bind(&my_class::handler, this, asio::placeholders::error)就像是bind(&my_class::handler, this, _1)

当这个处理器是由Boost.Asio的完成处理程序分发器调用, error_code是作为第一个参数给这个函数传递。

但是,你总是可以bind一个期望少参数的函数(在这种情况下-零) -当粘合剂被调用, 任何额外的参数会被忽略 。



文章来源: What's the use of asio::placeholder::error