Enumerazioni

Dati del tipo enum appartengono ad un certo insieme limitato di dati. Definizione del tipo di enumerazione:

enum nome del tipo enumerabile 
  {
  elenco di valori
  };

L'elenco dei valori è un elenco di identificatori di costanti denominate, separate da virgole.

Esempio:

enum mese// enumerazione di costanti denominate
   {
   Gennaio,
   Febbraio,
   Marzo,
   Aprile,
   Maggio,
   Giugno,
   Luglio,
   Agosto,
   Settembre,
   Ottobre,
   Novembre,
   Dicembre
   };

Dopo l'enumerazione viene dichiarata, appare un nuovo tipo di dati integer-a-valore-4-byte. La dichiarazione del nuovo tipo di dati consente al compilatore di controllare rigorosamente i tipi di parametri passati, perchè l'enumerazione introduce nuove costanti denominate. Nel precedente esempio, la costante denominata Gennaio ha il valore di 0, Febbraio - 1, Dicembre - 11.

Regola: Se un certo valore non è assegnato ad una costante nominata che è un membro dell'enumerazione, il nuovo valore viene formato automaticamente. Se è il primo membro dell'enumerazione, ad esso verrà assegnato il valore 0. Per tutti i membri successivi, i valori vengono calcolati sulla base del valore dei componenti precedenti aggiungendo uno.

Esempio:

enum intervals  // Enumerazione delle costanti nominate
   {
    month=1,     // Intervallo di un mese
    two_months,  // Due mesi
    quarter,     // Tre mesi - un quarto di anno
    halfyear=6,  // Mezzo anno
    year=12,     // Anno - 12 mesi
   };

Note

  • A differenza di C++, la grandezza della rappresentazione interna del tipo enumerato in MQL5 è sempre uguale a 4 byte. Che è, sizeof (months) restituisce il valore 4.
  • A differenza del C++, un' enumerazione anonima non può essere dichiarata in MQL5. Vale a dire, un nome univoco deve essere sempre specificato dopo la parola chiave enum.

Vedi anche

Typecasting