使用 Boost,我可以创建一个可选的原位:
boost::optional<boost::asio::io_service::work> work = boost::in_place(boost::ref(io_service));
并通过以下方式解除它:
work = boost::none;
借助 C++14 / 实验性支持,我可以改为构建一个可选的原位:
std::experimental::optional<boost::asio::io_service::work> work;
work.emplace(boost::asio::io_service::work(io_service));
但是我不知道如何脱离它......