c ++: создание строковых литералов из параметров шаблона

template < unsigned int i >
struct t {
  static const char *s;
};
template < unsigned int i >
const char* t<i>::s = ...;

где ... равно "0 1 2 ... i-1", например "0 1 2 3 4" для i == 5 .

Возможно ли это? (Никаких решений, делающих это во время выполнения, пожалуйста!)

  • Вопрос задан из любопытства (сделать это с помощью макросов / констант препроцессора было бы легко, но как насчет параметров шаблона)?
  • Значение: во время компиляции сгенерированный строковый литерал. Теперь я вижу, что const не вызывает этого, но может принимать любую оцениваемую во время выполнения функцию для генерации строки.
6
задан Thomas 4 November 2010 в 12:12
поделиться