Сложный макрос #define с несколькими аргументами для строк

Я работаю над проектом и у меня есть проблема, которую, как мне кажется, можно решить с помощью макросов, но, учитывая характер проблемы, у меня нет опыта, чтобы написать ее самостоятельно. .

Вот что я ожидал в качестве ввода и вывода макроса #define:

Ввод такого кода, как этот

printf(foobar(Hello World.));

Должен привести к тому, что препроцессор создаст код, который гласит:

printf((char *)(std::string("")+'H'+'e'+'l'+'l'+'o'+' '+'W'+'o'+'r'+'l'+'d'+'.').c_str());

Я предполагаю, что что-то настолько сложное - это возможно, и я надеюсь, что один из вас, ребята, сможет мне помочь.

МНЕ НУЖЕН МАКРОС, я НЕ хочу нигде строковую константу.

0
задан Brian Tompsett - 汤莱恩 23 June 2016 в 15:54
поделиться