===================================== Umfang eines Template-Parameter-Packs [TOC] ===================================== Mit dem Operator `sizeof...` können Sie den Umfang eines Template-Parameter-Packs ermitteln. Das Resultat ist (wie bei `sizeof`) vom Typ `std::size_t` aus ``. Folgende Template-Funktion liefert die Zahl ihrer Parameter zurück: ---- CODE (type=cpp) ------------------------------------------------------- template std::size_t count(Args... args) { return sizeof...(Args); } ---------------------------------------------------------------------------- Genauso wäre auch `sizeof...(args)` zulässig gewesen (mit dem gleichen Resultat). Aufgabe ======= Entwickeln Sie eine Variante `update_with_index`, die dem Funktionsobjekt die Gesamtzahl der einzulesenden Objekte und den Index für das aktuelle Objekt mitgibt. So könnten Sie dann die einzelnen Variablen einlesen mit Angabe des jeweiligen Index: ---- CODE (type=cpp) ------------------------------------------------------- std::string s; double x; int i; update_with_index([](std::size_t size, std::size_t index, auto& var) { std::cout << "Variable " << index+1 << "/" << size << ": "; std::cin >> var; }, s, x, i); ---------------------------------------------------------------------------- :navigate: up -> doc:index back -> doc:session09/page02 next -> doc:session09/page04