Traduzioni di questa pagina?:

Espressioni condizionali del Preprocessore

#if, #ifdef, #ifndef, #else, #elif, #endif

Questo sei comandi del preprocessore gli conferiscono capacità di eseguire controlli logici di base. Durante il processo di compilazione questi comandi permettono di decidere quali linee di codice devono essere incluse oppure omesse.

     #if expression

Se il valore dell'espressione è vero allora il codice che segue immediatamente viene compilato.

     #ifdef macro

Se la macro è stata definita con un #define allora il codice che segue immediatamente il comando viene compilato

     #ifndef macro

Questo esempio compila il codice immediatamente seguente se la macro non è stata definita

Note: il comand #elif è una contrazione della più comune parola chiave 'elseif' e funziona come essa. Potete usare anche “defined” o ”!defined” dopo un #if per controllare la definizione di una macro

Alcnuni esempi:

     #ifdef DEBUG
       cout << "This is the test version, i=" << i << endl;
     #else
       cout << "This is the production version!" << endl;
     #endif

definendo la macro DEBUG il programma include la riga di debug 'cout' che, una volta risolto il problema, può essere di nuovo esclusa senza modificare il codice (soprattutto se i messaggi di debug sparsi nell'applicazione sono molti).

Argomenti correlati: #define