Astd::future有一个std::future::valid方法,指示 future 对象是否引用某些共享状态。没有一个构造函数构造引用共享状态的 future 对象(移动构造函数除外,它可以将共享状态从一个 future 对象移动到另一个)。类的所有get方法 ( 、wait、wait_for和 )wait_until都要求未来对象具有共享状态作为前提条件(如果 则它们具有未定义的行为valid() == false)。那么 a 如何才能std::future获取某些共享状态并变得有用呢?
您通常不会std::future单独使用 a;你将它与std::promise. 构造std::promise 函数设置了一些共享状态。然后,您可以使用该std::promise::get_future()方法来获取std::future引用该共享状态的 a 。