Вы не можете объединить два или более строковых литералов, ожидающих получить один строковый литерал (если вы не хотите использовать макросы). Но в зависимости от поставленной задачи вы можете вернуть функцию-шаблон, например, std :: string, которая представляет собой конкатенацию строковых литералов. Последнее тривиально.
аюсь определить некоторый шаблон variadic как это:
typedef const char CCTYPE[];
template<CCTYPE X, CCTYPE... P> struct StringConcat { ... };
чтобы я мог написать что-то вроде:
char foo[] = "foo"; char bar[] = "bar";
std::cout << StringConcat<foo, bar>;
и это напечатаноfoobar
, Как я могу это сделать, если это возможно в C ++ 0x?
мой реальный интерес - решитьFizzBuzz проблема с использованием шаблонов c ++, я нашел решениеВот конвертировать int в char [], используя шаблоны.