Translations of this page?:

Condicionais do Preprocessador

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

Estes seis comandos do preprocessador dão controlo de lógica simples ao compilador. Quando um ficheiro está a ser compilado, pode usar estes comandos para fazer com que certas linhas de código sejam incluídas ou não.

     #if expression

Se o valor de expression for verdadeiro, então o código que imediatamente se segue o comando será compilado.

     #ifdef macro

Se a macro foi definida pelo comando #define, então o código que imediatamente se segue ao comando será compilado.

     #ifndef macro

Se a macro não foi definida pelo comando #define, então o código que imediatamente se segue ao comando será compilado.

Umas notas extra: o comando #elif é simplesmente uma horrível simplificação de “elseif” e funciona como é suposto. Também pode acrescentar um “defined” ou ”!defined” a seguir a um #if para obter funcionalidade adicional.

Aqui está um exemplo de todos eles:

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

Pode perceber como o segundo exemplo pode tornar a depuração (debugging) bastante mais simples em vez de inserir e remover um milhão de “cout”s no código.

Tópicos Relacionados: #define

 
• • • SitemapRecent changesRSScc