C++
Пакеты параметров
Поиск…
Шаблон с пакетом параметров
template<class ... Types> struct Tuple {};
Пакет параметров - это параметр шаблона, принимающий ноль или более аргументов шаблона. Если шаблон имеет хотя бы один пакет параметров, это вариационный шаблон .
Расширение пакета параметров
Паттерн parameter_pack ...
раскрывается в список разделенных запятыми подстановок parameter_pack
с каждым из его параметров
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
}
Вышеописанный код с помощью variadic_printer(1, 2, 3, "hello");
печать
1
2
3
hello
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow