【发布时间】:2020-06-07 05:30:46
【问题描述】:
根据文档 (http://www.cplusplus.com/reference/future/future/get/),它说: [强调我的]
一旦共享状态准备就绪,函数就会解除阻塞并返回(或 throws) 释放它的共享状态。这使得未来的对象没有 更长时间有效:此成员函数最多应调用一次 每个未来的共享状态。
根据文档 (http://www.cplusplus.com/reference/future/future/),它说: [强调我的]
“有效”期货是与共享状态关联的未来对象,并且 通过调用以下函数之一构造
异步
promise::get_future
packaged_task::get_future
根据文档 (http://www.cplusplus.com/reference/future/future/get/),它说: [强调我的]
std::future::get
通用模板 (1) T get();参考
专业化(2)R&future::get(); // 当 T 是引用时
type (R&) void 特化 (3) void future::get(); // 当 T 为空时
返回:
value 通常为 (1),std::move(x),其中 x 是存储在 共享状态 中的值。
对于引用 (2),对存储在 共享状态 中的值的引用。
对于无效期货 (3),什么都没有。
我的问题是什么是“std::future 共享状态”?如何理解“std::future shared state”?
我是C++的新手。虽然我想了又想,但我仍然无法掌握这个想法。如果能在这个问题上得到一些帮助,我将不胜感激。
【问题讨论】: