Четырехбайтовый слот памяти зарезервирован для каждого определенного целого числа. Неинициализированная переменная сохраняет старое значение этого слота. следовательно, начальное значение каким-то образом рандомизировано.
Код: Выделить всё
int x = 5; // definition with initialisation
Насколько мне известно, этот факт в большинстве компиляторов C++ справедлив и для переменных с ограниченной областью действия. Но когда дело доходит до глобальных переменных. будет установлено нулевое значение.
Почему компилятор C++ ведет себя по-разному в зависимости от начального значения глобальных и ограниченных переменных.
Это это фундаментально?
Подробнее здесь:
https://stackoverflow.com/questions/190 ... ial-values