c++中yield函数的用法是什么
导读:在C++中,yield函数通常用于生成器函数中,用于将一个值返回给调用者,并暂停执行生成器函数。调用者可以继续执行生成器函数,并使用yield来返回下一个值。这样可以实现惰性求值和生成序列等功能。 以下是一个简单的示例,演示了如何在C++中...
在C++中,yield函数通常用于生成器函数中,用于将一个值返回给调用者,并暂停执行生成器函数。调用者可以继续执行生成器函数,并使用yield来返回下一个值。这样可以实现惰性求值和生成序列等功能。
以下是一个简单的示例,演示了如何在C++中使用yield函数:
#include <
iostream>
#include <
vector>
// 生成器函数
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标准的协程功能。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c++中yield函数的用法是什么
本文地址: https://pptw.com/jishu/680278.html