Пространства имён
Варианты
Действия

# и ##

Материал из cppreference.com


Процессорный операторы # и ## используется в директиве препроцессора #define.

  • Оператор # заключает в кавычки первый аргумент, который следует за ним.
  • Оператор ## складывает два аргумента, один из которых перед ним, а второй - после него.

Например, команда

     #define to_string( s ) # s

заставит препроцессор преобразовать код

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

в код

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

Это пример использования команды ## :

     #define concatenate( a, b ) a ## b
     ...
     int xy = 10;
     ...

Этот код

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

будет преобразован препроцессором в

     cout << xy << endl;

который выведет '10' на стандартный вывод.

Смотри также: #define