C++
Parameterpakketten
Zoeken…
Een sjabloon met een parameterpakket
template<class ... Types> struct Tuple {};
Een parameterpakket is een sjabloonparameter die nul of meer sjabloonargumenten accepteert. Als een sjabloon ten minste één parameterpakket heeft, is een variadisch sjabloon .
Uitbreiding van een parameterpakket
Het patroon parameter_pack ...
is uitgebreid naar een lijst met door komma's gescheiden substituties van parameter_pack
met elk van zijn parameters
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
}
De code hierboven aangeroepen met variadic_printer(1, 2, 3, "hello");
prints
1
2
3
hello
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow