Les opérateurs du préprocesseur # et ## sont utilisés avec la macro #define.
Par exemple, la commande :
#define to_string (s) # s
fera que le préprocesseur transformera la ligne suivante
cout << to_string(Hello World!) << endl;
en
cout << "Hello World!" << endl;
Voici un exemple d'utilisation de ##:
#define concatene (x, y) x ## y ... int xy = 10; ...
Ce code permettra au préprocesseur de transformer :
cout << concatene( x, y ) << endl;
en
cout << xy << endl;
qui affichera, bien entendu, '10' sur la sortie standard.
Article connexe: #define