C++
Pack de paramètres
Recherche…
Un modèle avec un pack de paramètres
template<class ... Types> struct Tuple {};
Un paquet de paramètres est un paramètre de modèle acceptant zéro ou plusieurs arguments de modèle. Si un gabarit a au moins un paquet de paramètres est un gabarit variadic .
Extension d'un pack de paramètres
Le pattern parameter_pack ...
est développé en une liste de substitutions de parameter_pack
séparées par des virgules avec chacun de ses paramètres
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
}
Le code ci-dessus invoqué avec variadic_printer(1, 2, 3, "hello");
estampes
1
2
3
hello
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow