#include <iostream>
int
main(void)
{
int n;
std::cin >> n;
int x[n];
return 0;
}
С точки зрения C, приведенный выше код не должен быть скомпилирован должным образом, потому что размер массива 'x', я полагаю, еще не определен.
Только после того, как пользователь передастаргумент для переменной 'n', размер 'x' может быть определен, но код не зависал при компиляции и запуске, и мне интересно, почему.
Если бы он был написан на C, я думаю, что людиЯ использовал malloc для конфигурируемых массивов во время выполнения.
Возможно, у меня есть неправильное представление о массивах, распределении памяти, компиляторе и отношениях между c и c ++.Пожалуйста, поправьте меня, если я ошибаюсь.