返回句柄的await_suspend的标准行为是什么

问题描述 投票:0回答:1

让 Awaiter 在其 wait_suspend 中返回一个句柄 H。

  1. 我认为它可以返回任何协程的句柄。
  2. 让 C 成为等待等待者的协程 (
    co_await Awaiter
    ) 接下来会发生什么?

C 会执行除 H.resume() 之外的任何代码吗?

c++ c++20 c++-coroutine
1个回答
0
投票

C 会执行除 H.resume() 之外的任何代码吗?

不。如果

await_suspend
返回协程句柄,则立即调用
resume()

[expr.await]/(5.1.1):

如果 await-suspend 的类型是

std​::​coroutine_handle<Z>
,则评估 await-suspend
.resume()

© www.soinside.com 2019 - 2024. All rights reserved.