C++
Pacchetti di parametri
Ricerca…
Un modello con un pacchetto di parametri
template<class ... Types> struct Tuple {};
Un pacchetto di parametri è un parametro del modello che accetta zero o più argomenti del modello. Se un modello ha almeno un pacchetto di parametri è un modello variadico .
Espansione di un pacchetto di parametri
Il parameter_pack ...
viene espanso in un elenco di sostituzioni separate da virgola di parameter_pack
con ciascuno dei suoi parametri
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
}
Il codice sopra richiamato con variadic_printer(1, 2, 3, "hello");
stampe
1
2
3
hello
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow