运算符=(std::p romise&&) 在 C++11 中的结果是什么?

What is the result of operator=(std::promise&&) in C++11?

本文关键字:结果 结果是 C++11 是什么 std 运算符 romise      更新时间:2023-10-16

我一直在阅读c++ 11规范,并且我在理解std::promise对象操作符(std::promise& operator=(std::promise&& rhs) noexcept)之一的结果时遇到了麻烦。

规范说的效果是"放弃任何共享状态,然后如果promise(std::move(rhs)).swap(*this)。"

我知道*this将等于rhs的前一个值,但是对rhs的影响是什么呢?

promise& operator=(promise&& rhs)std::promise的所有权从一个对象转移到另一个对象。赋值后,rhs没有相应的异步结果,*thisrhs之前的异步结果(如果有的话)。

相关文章: