Склейка лексем в макросе в C++
Склейка лексем в теле макроса выполняется
оператором ##: препроцессор сливает
два соседних фрагмента в один токен.
Результат должен быть корректным идентификатором или числом, иначе следующий этап сборки выдаст ошибку. Запишем макрос, формирующий имя поля, и выведем значение:
#define FIELD(name) val_##name
#include <iostream>
int main() {
int FIELD(x) = 6;
std::cout << val_x << "\n";
return 0;
}
Задайте #define MK(n) item_##n.
Объявите int MK(a) = 3 и выведите
item_a.