[英]Set value of temporary std::future
我有一個 function ,它返回一個std::pair<std::future<bool>,std::future_status>
。 在某些情況下,我希望future.get() 始終返回true,我想知道是否有合法的方法。 目前我正在做一些可怕的事情:
std::future<bool> tmp = std::async(std::launch::async,[]()->bool{return true;});
return std::make_pair(std::move(tmp), std::future_status::ready);
有人知道將 tmp 的值設置為 true 的更好方法嗎?
我不確定您要達到什么效果,但是您可以使用std::promise
直接設置std::future
的值:
#include<future>
std::promise<bool> tmpPromise; //default construct promise
std::future<bool> tmp = tmpPromise.get_future(); //get future associated with promise
tmpPromise.set_value(true); //set future value
return std::make_pair(tmp, std::future_status::ready);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.