Предположим, у меня есть некоторый макрос #define NAME name
, и я хочу определить другой макрос, который будет расширен до указанного в кавычках значения. То есть, как будто я также определил #define NAME_STR "name"
. Есть ли более аккуратный способ, чем следующий?
#define QUOT(str) #str
#define QUOT_ARG(str) QUOT(str)
#define NAME_STR QUOT_ARG(NAME)