在调用相应的回调之前,是否可以删除boost::asio计时器对象
Can the boost::asio timer object be deleted before the corresponding callback is called?
在任务完成之前,计时器对象是否应该存在?
我的意思是:
boost::asio::io_service io;
{
boost::asio::steady_timer timer(io, std::chrono::seconds(5));
timer.async_wait(someCallback);
} // the timer object is deleted here
io.run();
这是允许的吗?它是否会导致未定义的行为?
析构函数只是取消任何挂起的等待,因此回调将被调用,并返回boost::asio::error::operation_aborted
错误代码。
相关文章:
- 如何使用 Boost Hana 删除元编程递归
- 如果是双重注册,如何从Boost树中删除孩子
- 无法从boost multi_index_container 中删除元素
- add_month从 boost::gregorian 中删除
- 如何确保 boost::文件系统::remove 不会尝试删除由其他进程使用的文件
- 使用Boost Hana从打字员中删除重复的统一方法
- 尽管使用了 boost::scoped_ptr,我们是否应该删除析构函数中成员的指针
- 从 Boost::Tokenizer 中删除重复项
- 删除boost ::线程后代
- 如何使用 boost 的 ptree 删除 XML 的属性?
- 预处理一个自定义文本文件,以使用Boost Spirit删除注释
- boost ::线程在删除可加入线程时存在什么问题
- 使用迭代器从Boost多指数中删除项目时的一致性
- 如何知道 boost::interprocess::message_queue 已从系统中删除
- 在链接到使用 cmake 的 boost 库时删除 boost 依赖项
- 删除boost::python暴露的std::vector中的指针
- 我可以删除boost::multi_array的单个维度而不复制其内容吗
- 如何删除boost io_service
- 为什么我的c++链接器只有在我删除boost共享对象文件后才能工作
- 使用clang++/libc++删除Boost libstdc++依赖