Pergunta

O Evolução WG Assuntos Lista de 14 fev 2004 tem ...

EP003. #nomacros. Veja EI001. Nota por Stroustrup para ser escrito.

Em termos ásperos (ou exata), o que é #nomacros, e é disponível como um lugar de extensão? Teria sido uma ferramenta de diagnóstico útil em um projeto recente envolvendo portar milhares de arquivos de 1995-vintage C ++ para um compilador de 2005, em comparação com a alternativa de executar o código através do pré-processador e examinando os arquivos .I para surpresas.

Foi útil?

Solução

É apenas uma proposta sob consideração ativa para a inclusão em C ++, mas ainda não está disponível nos compiladores atuais. Se você ler parte inferior da página, ele diz:

ES042. #nospam.

Fornecer um mecanismo de pré-processamento para limitar macros entrar e sair de um alcance. Por exemplo:

#nomacros
#in A B
…
#out A X
#endnomacros

Não macros são expandidas entre #nomacros e #endnomacros a menos que explicitamente ativado por #in. Não macros definidos entre #nomacros e #endnomacros serão definidas após #endnomacros a menos que explicitamente ativado por #out.

Sugestão por Bjarne Stroustrup. Após discussão no EWG foi decidido procurar uma solução que macros permitidos usados ??por macros permitido em por “#in” para ser utilizado na expansão de tais macros somente.

#nomacros deve ninho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top