2020年3月18日
boost::function 通过boost::bind 回调类成员函数
- 需要实现回调的类tcp_client
- 声明function模板
typedef std::vector<uint8_t> buffer_t; typedef boost::function<void(buffer_t&)> recv_callback_t;
- 设置回调函数
void tcp_client::set_recv_callback(recv_callback_t cb){ recv_callback_ = cb; }
- 声明function模板
- 回调函数的实现类network_interface
- 关联成员函数
tcp_client *client_ptr = new tcp_client(...); client_ptr_->set_recv_callback(boost::bind(&network_interface::recv_callback_, this, _1));
- 成员函数定义
void recv_callback_(std::vector<uint8_t>&buf);
- 关联成员函数