kennen:include:generator
<generator>
std::generator<T>
ist der Rückgabetyp einer Koroutine, die mit dem Ausdruck co_yield
ausdruck,
einen Wert liefert und dann bis zur Anforderung des nächsten Wertes pausiert.
Der Generator stellt eine Sicht auf die Elemente der erzeugten Folge dar.
- pythagorean
#include <generator> #include <print> #include <tuple> using Triple = std::tuple<int,int,int>; std::generator<Triple> pythagorean() { for (int c = 1; c < 20; ++c) for (int b = 1; b < c; ++b) for (int a = 1; a < b; ++a) if (a*a + b*b == c*c) co_yield {a,b,c}; } int main() { for (auto [a,b,c] : pythagorean()) { std::println("{}²+{}²={}²", a,b,c); } }
kennen/include/generator.txt · Zuletzt geändert: 2024-11-01 10:19 von rrichter