6 Stimmen

Welchen Zweck erfüllt der ##-Operator in C++, und wie wird er genannt?

Ich habe mir das DXUTCore-Projekt angesehen, das mit dem DirectX March 2009 SDK ausgeliefert wird, und habe bemerkt, dass statt normaler Accessor-Methoden Makros verwendet wurden, um die generischen Accessors zu erstellen, ähnlich wie die folgenden:

#define GET_ACCESSOR( x, y )  inline x Get##y()  { DXUTLock l; return m_state.m_##y;};
...

GET_ACCESSOR( WCHAR*, WindowTitle );

Es scheint, dass der ##-Operator einfach den Text aus dem zweiten Argument in das Makro einfügt, um eine Funktion zu erstellen, die auf eine Variable mit diesem Text wirkt. Ist dies etwas, das in C++ Standard ist (d. h. nicht Microsoft-spezifisch)? Wird seine Verwendung als gute Praxis angesehen? Und wie wird dieser Operator genannt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X