Стрификация - как это работает?
Я знаю это:
#define foo 4
#define str(s) #s
сstr(foo)
пишет:"foo"
потому что stringify выполняется первым из раскрытия текста, но это:
#define xstr(s) str(s)
#define str(s) #s
#define foo 4
сxstr(foo)
выписывает:"4"
Зачем? Какие шаги участвуют в процессе?