Modernes C++ programmieren

Okt 23, 2024

lst-1048-book.cpp

// https://godbolt.org/z/Gfazq6GE7 
#include <generator>
#include <iostream>
#include <vector>

std::generator<int> fib(int n) { // generiert int-Werte
  int a = 0, b = 1;
  while (--n) {
    co_yield b;                  // macht diese Funktion zu einer Koroutine
    auto tmp = a;
    a = b;
    b += tmp;
  }
}
int main() {
  for (auto i : fib(10)) std::cout << i << ' ';
  std::cout << '\n';             // Ausgabe: 1 1 2 3 5 8 13 21 34 55
}