Modernes C++ programmieren

Okt 23, 2024

lst-1045-book.cpp

// https://godbolt.org/z/bq1hn5rjo 
#include <future>
#include <thread>
#include <iostream>
int ack(int m, int n); // Ackermannfunktion
int main () {
  std::packaged_task<int(int,int)> task2 { &ack }; // andere Signatur
  auto f2 = task2.get_future();
  std::jthread th2 { move(task2), 3, 12 };         // Parameter hier
  std::cout << "  ack(3,12):" << f2.get() << '\n'; // Ausgabe: ack(3,12):32765
  th2.join();
}