Question

Le Liste des problèmes du groupe de travail Evolution Février 2004 a ...

  

EP003. #nomacros. Voir EI001. Note de   Stroustrup à écrire.

En termes simples (ou exacts), qu'est-ce que #nomacros et est-il disponible en tant qu'extension n'importe où? Cela aurait été un outil de diagnostic utile dans un projet récent impliquant le portage de milliers de fichiers de C ++ datant de 1995 dans un compilateur de 2005, par rapport à l’exécution du code par le préprocesseur et à l’examen des fichiers .i à la recherche de packages surprises.

Était-ce utile?

La solution

Il s’agit simplement d’une proposition à l’étude en vue d’une inclusion en C ++, mais qui n’est toujours pas disponible dans les compilateurs actuels. Si vous lisez plus bas, il est écrit:

ES042. #nospam.

Fournissez un mécanisme de préprocesseur pour limiter les macros entrant et sortant d'une étendue. Par exemple:

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

Aucune macros n'est développée entre #nomacros et #endnomacros sauf si explicitement activée par #in. Aucune macro définie entre #nomacros et #endnomacros ne sera définie après #endnomacros, sauf si explicitement activée par #out.

Suggestion de Bjarne Stroustrup. Après discussion au sein du groupe de travail électronique, il a été décidé de rechercher une solution autorisant les macros utilisées par les macros autorisées par & # 8220; #in & # 8221; à utiliser uniquement pour l'expansion de telles macros.

#nomacros devrait imbriquer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top