Tutorial sur l'utilisation du type va_list

Contenu du snippet

Ce code calcule une somme avec une fonction à nombre indéterminé d'arguments et grâce au type va_list.
Ce n'est sans doute pas la meilleur manière pour ce type de calcule (il y a mieux et plus simple), cependant le type va_list est utile dans bien d'autres cas.

Source / Exemple :


/* Tutorial sur l'utilisation du type va_list par Tanguy Moret*/
/* Code sous license GPL */

#include <iostream>
#include <stdarg.h> // va_list

double somme(int compte, ...);
static int compte=3;

int main()
{
double *nombres = new double[compte]; // On crée un tableau de 3 double
cout << "Calcule de la somme de " << compte << " nombres a l'aide du type va_list\n";
cin >> nombres[0] >> nombres[1] >> nombres[2];
cout << "\nSomme : " << somme(compte, nombres[0], nombres[1], nombres[2]);
delete[] nombres; // On détruit le tableau
}

double somme(int compte, ...) {
double resultat=0;
va_list varg; // Variable stockant la somme
va_start(varg, compte); // On initialise la variable
do {
resultat=resultat+va_arg(varg, double); // On fais la somme
compte--;
}while(compte!=0);
va_end(varg); // On détruit la variable
return resultat;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.