Traductions de cette page?:

# et ##

Les opérateurs du préprocesseur # et ## sont utilisés avec la macro #define.

  • # retourne son premier argument sous forme d'une chaine entre guillemets (””).
  • ## permet de concaténer ce qui se trouve avant avec ce qui se trouve après.

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