Предположим, что я хочу объявить локальный статический постоянный массив , но я не знаю его значений инициализатора во время компиляции, и их нужно сначала вычислить. Например,, у меня есть массив int p[100]
. Я пишу цикл, чтобы заполнить его с помощью первых 100 простых чисел. После вычисления, я определяю static const int primes[100]
, который должен быть инициализирован значениями p
. Как я могу это сделать?Инициализировать локальный массив статических констант со значениями другого массива
P.S. Вопрос «почему Я хочу объявить локальный статический объект const?» может не иметь удовлетворительного ответа, но я думаю, что это не так.
P.S.S. Я упомянул простые числа как пример. Дело не в этом.
P.S.S.S. Скажем, p
имеет 1000000 членов. Тогда решение, предложенное пользователем2079303, безусловно, заслуживает большего внимания.
@EddeAlmeida - это просто неправда. Константы могут быть инициализированы во время выполнения, просто не изменены. Рассмотрим константы, локальные для функции – Smeeheey
Ok @Smeeheey.Я удалил глупый комментарий, который я сделал раньше. –
Я должен был сказать, что константы инициализируются, когда они созданы и не могут быть изменены после этого момента. Таким образом, нельзя просто создать константу, чтобы дать ей значение позже. Это верно? –