Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Uso de argumentos variables en C++

Daniel Sánchez Quirós
Uso de argumentos variables en C++
El reproductor de video será cargado en breves instantes.

En este artículo vamos a ver qué son los argumentos variables, y hacer un ejemplo de un template para comprenderlo de forma práctica.

Argumentos variables

Con argumentos variables se quiere indicar que podemos tener una función que no sabemos cuál es la cantidad de argumentos que va a tener, es decir, puede que no reciba ningún argumento o puede que reciba muchos.

Para poder llegar a utilizar los argumentos variables en C++ necesitamos usar templates.

Ejemplo de template

En este caso vamos a definir una función que va a imprimir todos los argumentos que le pasemos por parámetro.

template <class… Args>
void printStuff(Args… args)
{
    for(auto & v: {args…})
    {
        std::cout << v << std::endl;
    }
}

int main() {
    printStuff(1);
    printStuff(1, 2);
    printStuff(“Hey”, “OH”, “Let’s”, “Go”);
    return 0;
}

Necesitamos definir con esta sintaxis la template de la función.

En ella indicamos que va a recibir un número indefinido de argumentos (args) de tipo class genérico, y estos argumentos le vamos a indicar que van a ser los argumentos de nuestra función.

Después, estos argumentos los desempaquetamos en una lista, en la que vamos a iterar en un bucle for, simplemente para imprimir los valores.

En este caso vamos a imprimir un número, dos números o bien cuatro strings que lo estamos pasando la función.

Si lo ejecutamos vemos como imprime primero el primer número, después imprime los dos números siguientes y después los strings.

Además podemos ver que es independiente del tipo, con lo cual, automáticamente para cada uno de los tipos que vamos a usar en la función, va a expandir el código y va crear el código necesario para para para poder usarlo.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Convención de nombres en C++

Convención de nombres en C++

Lenguajes de programación

01 de Noviembre de 2018

Descubre por qué es tan importante la convención de nombres en la programación en C++.

Cómo usar Thread Pool en C++

Cómo usar Thread Pool en C++

Lenguajes de programación

03 de Octubre de 2018

Aprende a crear tus propios thread pool en C++, primero de forma teórica y después con un caso práctico.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars