2010-10-06 4 views

Répondre

0

Comme l'a dit clairement, il permet d'accepter un certain nombre d'arguments.

Généralement, il peut y avoir des exigences pour une telle méthode lorsque l'utilisateur ne sait pas combien de variables doivent être transmises à l'intérieur. Par exemple: Pour l'exigence 1, vous devez appeler la méthode avec 2 paramètres. Pour l'exigence 2, vous devez appeler la même méthode avec 3 paramètres.

1

Une fonction variadique est une fonction (unique) qui peut être appelée à chaque fois avec un nombre différent d'arguments. Certaines fonctions variadiques, comme printf, vous permettent même d'utiliser différents types d'arguments. La grande différence avec la surcharge est qu'avec une fonction variadique, vous avez une seule fonction qui est conçue pour gérer un ensemble ou des arguments différents pour chaque appel. Avec la surcharge, vous créez plusieurs fonctions différentes, où chaque fonction gère un ensemble différent de paramètres. Une chose que toutes les fonctions variadiques ont en commun est qu'il doit y avoir un moyen de dire à la fonction quel ensemble d'arguments est passé maintenant. Les deux façons courantes sont:

  1. L'un des premiers paramètres fixes décrit la partie variable. Par exemple, la chaîne de format de printf
  2. Le dernier paramètre a une valeur spéciale qui indique 'we are done'. Par exemple, la fonction execl nécessite que la liste de paramètres soit terminée avec un paramètre (char*)NULL.
Questions connexes