std::promise<int> p1;
auto f = p1.get_future();
{
std::promise<int> p2(std::move(pr));
}
bool valid = f.valid(); // true
f.wait(); // does not throw, or fail, but returns immediately
f.get(); // throws an exception
有没有办法在调用之前检查未来是否会抛出get
?我希望valid
会检查...我不太确定如何valid
返回 false。promise
在不设置值的情况下销毁它是行不通的。