Comment utiliser les fonctions de paramètres variables dans c ++

<

Contenu

  • Instructions
  • ressources
  • div itemprop="description" class="intro marginTop" data-module="article-intro">

    La plupart des fonctions acceptent un nombre fixe d`arguments. Certaines applications nécessitent cependant des fonctions pour accepter des paramètres variables. Un exemple bien connu est la fonction d`impression de C. Pour de tels cas, C ++ offre une solution puissante qui permet au compilateur de déchiffrer les arguments au moment de l`exécution. Lire la suite pour un tutoriel qui montre comment implémenter ces fonctions.

    Choses que vous devez

    • Intermédiaire C ++
    • Compilateur C ++ avec IDE, tels que Microsoft Visual C ++

    Instructions

    1. Ajouter le fichier de bibliothèque stdarg.h dans votre programme. Voilà où vous définissez les macros. Sur la première ligne du fichier, insérez #include lt; stdarg.h gt ;.

    2. Utilisez les macros va_arg, va_start et v_end qui collaborent avec le va_type en stdarg.h.

    3. Mettre en place une variable de type va_list pour fonctionner comme un marqueur de liste.

    4. Accédez aux paramètres individuels en utilisant la macro va_arg. Trouver un moyen de dire la va_arg macro quel type d`argument que vous voulez récupérer de fournir le nombre exact d`octets de la pile.




    5. Jetez le résultat de l`étape 4 du type que vous voulez qu`il soit.

    6. Appelez la macro va_end pour mettre fin au traitement des paramètres variables.

    7. Regardez l`exemple ci-dessous qui montre les étapes 2 à 6. Fonction myprintf accepte une chaîne de format qui spécifie le type et la position de chaque argument. Suite à la chaîne de format est la liste des arguments. La fonction imprime les arguments. Pour simplifier, il ne peut processus int, float et l`omble:

      // déclaration

      myprintf vide (char le format, ...), -

      // defintion

      myprintf vide (char
      le format, ...) {

      va_list VL-

      int i-

      va_start (vl, args) -

      for (i = 0- args [i]! = ` 0`- ++ i) {

      union any_t {

      int i-

      flotter F-

      omble c-

      } tout-

      if (args [i] == `i`) {

      any.i = va_arg (vl, int) -

      printf ( "%dans", Any.i) -

      }autre

      if (args [i] == `f`) {

      any.f = va_arg (vl, float) -

      printf ( "% F n", Any.f) -

      }autre

      if (args [i] == `c`) {

      any.c = va_arg (vl, char) -

      printf ( "% C n", Any.c) -

      }

      autre{

      jeter SomeException-

      }

      va_end (vl) -

      }

    Ressources

    AUTRES

    Comment créer des macros фото

    Comment créer des macros

    Les macros sont utilisées pour créer des fonctions de commande personnelles dans MS Excel, l`une des applications de…

    » » » » Comment utiliser les fonctions de paramètres variables dans c ++