# and ##

The # and ## preprocessor operators are used with the #define preprocessor directive.

For example, the command

     #define to_string( s ) # s

will make the compiler turn this command

     cout << to_string( Hello World! ) << endl;

into

     cout << "Hello World!" << endl;

Here is an example of the ## command:

     #define concatenate( x, y ) x ## y
     ...
     int xy = 10;
     ...

This code will make the compiler turn

     cout << concatenate( x, y ) << endl;

into

     cout << xy << endl;

which will, of course, display '10' to standard output.

Related topics: #define