c++中yield函数的用法是什么

avatar
作者
筋斗云
阅读量:0

在C++中,yield函数通常用于生成器函数中,用于将一个值返回给调用者,并暂停执行生成器函数。调用者可以继续执行生成器函数,并使用yield来返回下一个值。这样可以实现惰性求值和生成序列等功能。

以下是一个简单的示例,演示了如何在C++中使用yield函数:

#include  #include   // 生成器函数 std::vector<int> generateNumbers() {     for (int i = 0; i < 10; ++i) {         co_yield i; // 使用co_yield来返回值并暂停函数执行     } }  int main() {     auto numbers = generateNumbers();          for (int num : numbers) {         std::cout << num << " ";     }          return 0; } 

在上面的示例中,generateNumbers函数是一个生成器函数,使用co_yield关键字来返回值并暂停函数执行。在主函数中,我们可以通过迭代生成器函数的返回值来获取生成的数字序列,并输出到控制台。

需要注意的是,在C++20中,使用生成器函数和yield关键字需要编译器对协程的支持。因此,需确保编译器支持C++20标准的协程功能。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!