# std::coroutine_handle<Promise>::coroutine_handle

< cpp‎ | coroutine‎ | coroutine handle

constexpr coroutine_handle() noexcept; | (1) | (C++20 起)
constexpr coroutine_handle( std::nullptr_t ) noexcept; | (2) | (C++20 起)
coroutine_handle( const coroutine_handle& other ) = default; | (3) | (C++20 起)
coroutine_handle( coroutine_handle&& other ) = default; | (4) | (C++20 起)

创建不指代协程的 `coroutine_handle` ，或复制 `coroutine_handle` 。

1-2) 初始化底层地址为 nullptr 。构造后， address() 返回 nullptr ，而该 `coroutine_handle` 不指代协程。这些构造函数不对特化 std::coroutine_handle<std::noop_coroutine_promise> 声明。
3-4) 复制底层地址。复制构造函数与移动构造函数等价于被隐式声明。

### 参数

other | - | 要复制的另一 `coroutine_handle`

### 注解

std::coroutine_handle<std::noop_coroutine_promise> 不可默认构造，亦不可从 std::nullptr_t 构造。 std::noop_coroutine 能用于创建新的 std::coroutine_handle<std::noop_coroutine_promise> 。

静态成员函数 from_promise 与 from_address 亦能创建 `coroutine_handle` 。

### 参阅

from_promise [静态] (C++20) | 从协程的承诺对象创建 `coroutine_handle` (公开静态成员函数)
from_address [静态] (C++20) | 从指针导入协程 (公开静态成员函数)
noop_coroutine (C++20) | 创建在等待或销毁时无可观察作用的协程柄 (函数)