Buscar..


Una plantilla con un paquete de parámetros.

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

Un paquete de parámetros es un parámetro de plantilla que acepta cero o más argumentos de plantilla. Si una plantilla tiene al menos un paquete de parámetros es una plantilla variad .

Expansión de un paquete de parámetros.

El patrón parameter_pack ... se expande en una lista de sustituciones separadas por comas de parameter_pack con cada uno de sus parámetros.

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
}

El código anterior invocado con variadic_printer(1, 2, 3, "hello"); huellas dactilares

1
2
3
hello


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow