跳转到内容
新建笔记

C++ 现代语言特性

// 管道操作 |
// 生成器 C++23, 类似go, 生成器就是下次调用不从头开始,而是从标志位开始继续执行
#include <iostream>
#include <utility>
#include <generator>
std::generator<int> fib()
{
int i = 0, j = 1;
while(1)
{
co_yield i = std::exchange(j, i + j);
}
}
int main(int argc, char* argv[])
{
for(const auto i : fib() | std::views::take(20))
{
std::cout << i << std::endl;
}
return 0;
}