如果你提取一个future
来自promise
, 调用 future::get_value
是否有效在promise
之后离开范围?
std::future<void> future;
{
std::promise<void> promise;
future = promise.get_future();
promise.set_value();
}
future.wait();
最佳答案
Promises 和 Future 具有共享状态。
一个 promise 没有实现并被摧毁的 future 是一个违背的 promise 。共享状态被赋予异常并准备就绪。
但是一个 promise 被实现然后又被破坏的 future 是完全可以的。共享状态持续存在。
看~promise
以及关于共享状态的讨论 main doc page .
关于c++ - 在相应的 promise 离开范围后有效使用 future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43117797/