c++ - 如何在类定义中声明基本截止时间计时器

标签 c++ boost boost-asio

很抱歉问了这样一个基本的问题,但到目前为止,我在网上看到的所有使用基本截止时间计时器的示例都只是按如下方式初始化计时器

boost::asio::deadline_timer timer(ioservice);

如何将此计时器声明为类的一部分。如果我尝试类似的东西

boost::asio::deadline_timer timer;

那我怎么给它分配ioservice对象呢?

我没有看到像 timer.ioservice = ioservice 这样的选项

最佳答案

您必须将对 IO 服务的引用传递给周围类的构造函数,然后在构造函数初始化列表中构造计时器:

class ClassWithTimer
{
public:
    ClassWithTimer(boost::asio::io_service &io_service)
        : timer(io_service)  // Constructs the timer
        { }

private:
    boost::asio::deadline_timer timer;
};

关于c++ - 如何在类定义中声明基本截止时间计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12071719/

相关文章:

c++ - 带有触觉力反馈的 SOFA 框架仿真实例

c++ - 使用 Eclipse 编译 boost::thread

c++ - 使用 boost::asio::socket_base 发送数据

c++ - C++11赋值运算符副作用的求值顺序

c++ - C++ 中用户定义大小的数组

c++ - 内联函数作为模板参数,不使用函数指针

c++ - boost 、几何

c++ - cmake 命令找不到 boost 库

c++ - 远程端点 : Transport endpoint is not connected

c++ - 在没有 boost 的情况下编译asio库