Можно определить статический массив во время компиляции следующим образом:
const std::size_t size = 5;
unsigned int list[size] = { 1, 2, 3, 4, 5 };
Вопрос 1. Можно ли использовать различные методы метапрограммирования для назначения этих значений "программно" во время компиляции?
Вопрос 2. Предполагая, что все значения в массиве должны быть одним и тем же числом, возможно ли выборочно назначать значения во время компиляции программным способом?
например:
const std::size_t size = 7;
unsigned int list[size] = { 0, 0, 2, 3, 0, 0, 0 };
- Решения, использующие С++ 0x, приветствуются
- Массив может быть довольно большим, мало сто элементов длиной
- Теперь массив будет состоять только из Типы POD
- Можно также предположить размер массив будет известен заранее, в статическом компиляторе образом.
- Решения должны быть в С++ (нет script, нет макросов, нет pp или основанные на генераторе кода решения pls)
ОБНОВЛЕНИЕ: Решение Georg Fritzsche поразительно, ему нужна небольшая работа, чтобы собрать его на компиляторах msvc и intel, но тем не менее очень интересный подход к проблеме.