Frage

Die Entwicklung WG Problemliste von 14 Februar 2004 hat ...

  

EP003. #nomacros. Siehe EI001. Hinweis durch   Stroustrup geschrieben werden.

In groben (oder exakt) Bedingungen, was #nomacros, und es ist erhältlich als überall Erweiterung? Es wäre ein nützliches Diagnosetool in einem aktuellen Projekt Tausende von Dateien von 1995-Jahrgang C ++ zu einem 2005-Compiler, im Vergleich zu der Alternative beteiligt gewesen Portierung des Codes durch den Prä-Prozessor ausgeführt wird und die .i Dateien für Überraschungspakete zu untersuchen.

War es hilfreich?

Lösung

Es ist nur ein Vorschlag unter Berücksichtigung aktiv für die Aufnahme in C ++, aber in den aktuellen Compiler noch nicht verfügbar. Wenn Sie weiter unten auf der Seite zu lesen, heißt es:

ES042. #nospam.

Geben Sie einen Präprozessor Mechanismus für Makros Ein- und Aussteigen einen Umfang zu begrenzen. Zum Beispiel:

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

Keine Makros werden zwischen #nomacros und #endnomacros erweitert, sofern nicht ausdrücklich durch #in aktiviert. Keine Makros definiert zwischen #nomacros und #endnomacros wird nach #endnomacros definiert werden, sofern nicht ausdrücklich durch #OUT aktiviert.

Vorschlag von Bjarne Stroustrup. Nach der Diskussion in der EWG wurde beschlossen, nach einer Lösung zu suchen, die Makros von Makros erlaubt in durch „#in“ verwendet dürfen nur in den Ausbau solcher Makros verwendet werden.

#nomacros sollte Nest.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top