C++
Parameterpakete
Suche…
Eine Vorlage mit einem Parameterpaket
template<class ... Types> struct Tuple {};
Ein Parameterpaket ist ein Vorlagenparameter, der null oder mehr Vorlagenargumente akzeptiert. Wenn eine Vorlage mindestens ein Parameterpaket enthält, handelt es sich um eine variadische Vorlage .
Erweiterung eines Parameterpakets
Das Muster parameter_pack ...
wird zu einer Liste von durch Kommas getrennten Ersetzungen von parameter_pack
mit jedem seiner Parameter erweitert
template<class T> // Base of recursion
void variadic_printer(T last_argument) {
std::cout << last_argument;
}
template<class T, class ...Args>
void variadic_printer(T first_argument, Args... other_arguments) {
std::cout << first_argument << "\n";
variadic_printer(other_arguments...); // Parameter pack expansion
}
Der oben genannte Code wurde mit variadic_printer(1, 2, 3, "hello");
aufgerufen variadic_printer(1, 2, 3, "hello");
druckt
1
2
3
hello
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow