C ++: Может ли макрос заменять «abc» на «a», «b», «c»?

Я написал вариативный шаблон, который принимает переменное количество параметров char , то есть

template <char... Chars>
struct Foo;

. Мне просто интересно, есть ли там были любые уловки с макросами, которые позволили бы мне создать экземпляр этого с синтаксисом, подобным следующему:

Foo<"abc">

или

Foo<SOME_MACRO("abc")>

или

Foo<SOME_MACRO(abc)>

и т. д.

По сути, все, что мешает вам писать символы индивидуально, например

Foo<'a', 'b', 'c'>

Для меня это не большая проблема, потому что это просто игрушечная программа, но я все равно решил спросить.

40
задан a3f 31 March 2015 в 01:35
поделиться