# macro operator#<token>Prefixing a macro token with # will quote that macro token. This allows you to turn bare words in your source code into text tokens. This can be particularly useful for writing a macro to convert an enum into a string: enum ColorType { CT_RED, CT_GREEN, CT_BLUE }; // note the use of CT to stand for the enum value // and #CT to create a string, such as "CT_RED" #define CONV_CASE(CT) case CT: return #CT std::string getString (ColorType t) { switch ( t ) { CONV_CASE( CT_RED ); CONV_CASE( CT_GREEN ); CONV_CASE( CT_BLUE ); default: return "unknown"; } } Related #define C preprocessor tutorial |