fork download
  1. #include <iostream>
  2. #include <future>
  3. #include <functional>
  4. #include <deque>
  5.  
  6. int main() {
  7. std::future<int> f;
  8. std::deque<std::packaged_task<int()>> m_tasks;
  9. {
  10. m_tasks.emplace_back([](){return 3; });
  11. f = m_tasks.back().get_future();
  12. auto taskToExecute = std::move(m_tasks.front());
  13. m_tasks.pop_front();
  14. taskToExecute();
  15. }
  16. std::cout<<f.get()<<std::endl;
  17. return 0;
  18. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
3