代码点读机 / C++ / co_yield

co_yield C++ · 关键字

C++20 协程运算符,把值产出给调用者后挂起,下次恢复时从挂起点继续,适合实现生成器。

怎么用

co_yield 表达式;

小例子

// 伪代码示意:完整协程需要 promise_type 支撑
co_yield 1;
co_yield 2;

编译结果

第一次产出 1 并挂起,第二次产出 2 并挂起

提醒:需要配合 range-for 或生成器接口使用;示例为概念示意,不能直接复制运行

官方文档:https://en.cppreference.com/w/cpp/language/coroutines

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C++全部词条