C ++ - Makros und Namespaces

8

Ich habe ein Problem mit Makros in Namespaces. Der Code ist

%Vor%

Was ist die richtige Variante der Verwendung von Namespace-Objekten in Makros?

    
shadeglare 21.02.2013, 12:42
quelle

2 Antworten

11

Makros werden vom Preprozessor verarbeitet, der nichts über Namespaces weiß. Also sind Makros nicht Namespaced, sie sind nur Textsubstitution. Von der Verwendung von Makros wird unter anderem deshalb abgeraten, weil sie den globalen Namensraum immer verschmutzen.

Wenn Sie eine Nachricht ausdrucken müssen und sie einen Namensraum haben soll, verwenden Sie einfach eine Inline-Funktion. Der Code scheint einfach genug zu sein, um richtig inline zu sein:

%Vor%     
StoryTeller 21.02.2013, 12:45
quelle
2

Es wird nicht funktionieren. Macroses weiß nichts über Namensräume. Wenn Sie Namespaces verwenden möchten, dürfen Sie keine Makros verwenden.

    
ForEveR 21.02.2013 12:44
quelle

Tags und Links