Enumérations

Les données du type enum appartiennent à un ensemble limité de données. Définition du type énumération :

enum nom du type énumérable
  {
  liste de valeurs
  };

La liste des valeurs est une liste d'identifiants de constantes nommées séparées par des virgules.

Exemple :

enum mois  // énumération de constantes nommées
   {
   Janvier,
   Février,
   Mars,
   Avril,
   Mai,
   Juin,
   Juillet,
   Août,
   Septembre,
   Octobre,
   Novembre,
   Décembre
   };

Une fois que l'énumération est déclarée, un nouveau type de données de 4 octets et valué avec un entier, est disponible. La déclaration d'un nouveau type de données permet au compilateur de contrôler de façon stricte les types des paramètres passés, car l'énumération introduit de nouvelles constantes nommmées. Dans l'exemple ci-dessus, la constante nommée Janvier a la valeur 0, février - 1, décembre - 11.

Règle : si une valeur n'est pas assignée à une constante nommée qui est membre d'une énumération, sa nouvelle valeur sera formée automatiquement. Si c'est le premier membre de l'énumération, la valeur 0 lui est assignée. Pour tous les membres suivants, les valeurs seront calculées sur la base de la valeur des membres précédents en ajoutant 1.

Exemple :

enum intervalles // Enumération de constantes nommées
   {
    month=1,     // Intervalle d'un mois
    two_months,  // Deux mois
    quarter,     // Trois mois - trimestre
    halfyear=6,  // Moitié d'une année
    year=12,     // Année - 12 mois
   };

Notes

  • Contrairement au C++, la taille de la représentation interne du type énuméré en MQL5 est toujours égale à 4 octets. C'est à dire que sizeof(months) retourne la valeur 4.
  • Contrairement au C++, une énumération anonyme ne peut pas être déclarée en MQL5. C'est à dire qu'un nom unique doit toujours être spécifié après le mot-clé enum.

Voir aussi

Conversion de Type