我有这门课:
template < typename Service >
class BasicIOObject : public boost::asio::basic_io_object<Service>
{
public:
explicit BasicIOObject(
boost::asio::io_service &io_serviceIn, CString& fileNameIn)
: boost::asio::basic_io_object<Service>(io_serviceIn)
{
this->service.init(this->implementation, fileNameIn);
}
void wait()
{
this->service.wait(this->implementation);
}
template <typename Handler>
void async_wait(Handler handler)
{
this->service.async_wait(this->implementation, handler);
}
void wait_handler(const boost::system::error_code &ec)
{
this->service.async_wait(
this->implementation, boost::bind(&BasicIOObject::wait_handler, this, boost::asio::placeholders::error));
}
};
我看不出this
指的是什么?我还没有找到任何关于 boost::asio::basic_io_object
的文档,因此我们将不胜感激。
谢谢
好的,我知道 this
它指的是当前实例,但是我怎么知道它有一个 service
成员呢?
最佳答案
寻找关于 Boost.Asio 类型和函数的文档的最佳位置之一是官方文档的 reference部分 。此页面包含指向类型的链接,例如 basic_io_object
.对于 basic_io_object
, 据记载它有一个 service
protected 数据成员:
- 已弃用,并建议使用
get_service()
protected 成员函数 - 仅适用于不支持移动性的服务
- 的类型为
service_type
,这是提供给basic_io_object<>
的模板模板参数那一定是 IoObjectService 的模型类型要求
关于c++ - 我如何知道继承 boost::asio::basic_io_object 的类中的 this 成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629704/