Szukaj…


Szablon z pakietem parametrów

template<class ... Types> struct Tuple {};

Pakiet parametrów to parametr szablonu przyjmujący zero lub więcej argumentów szablonu. Jeśli szablon ma co najmniej jeden pakiet parametrów, jest szablonem variadic .

Rozszerzenie pakietu parametrów

Wzorzec parameter_pack ... jest rozwijany do listy rozdzielonych przecinkami podstawień parameter_pack z każdym z jego parametrów

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
}

Powyższy kod został wywołany przez variadic_printer(1, 2, 3, "hello"); odciski

1
2
3
hello


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow