Можно ли определить размер статического массива во время выполнения? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Можно ли определить размер статического массива во время выполнения? [дубликат]

Сообщение Anonymous »

Хорошо известно, что статические массивы хранят свои значения в стеке, и их размер должен быть известен во время компиляции. Это ограничение означает, что если вы хотите, чтобы размер массива определялся пользователем, вы не можете использовать статический массив. Но приведенные ниже коды можно успешно скомпилировать. Есть ли разумное объяснение?

Код: Выделить всё

size_t size = 0;
cin >> size;
int arr[size] = {};
Был ли известен размер статического массива, указанного выше, во время выполнения?
Я написал приведенный выше код на C++20 в CLion, и он скомпилировался успешно. Какова причина, которая вызывает это?

Подробнее здесь: https://stackoverflow.com/questions/793 ... t-run-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»