/ / Como o compilador C ++ definir valor aleatório para variáveis ​​não inicializadas? [duplicado] - c ++, construtor de compiladores

Como o compilador C ++ definiu o valor aleatório para variáveis ​​não inicializadas? [duplicado] - c ++, construtor de compiladores

Eu sou um pouco experiente no campo de c # e seu compilador conjunto de valor de variáveis ​​não inicializadas para zero. esta qual é a resposta para minha primeira pergunta - porque o C ++ não faz.

Mas agora - como o compilador C ++ "escolhe" variável aleatória?

Eu acho que é um pouco mais interessante / avançado do que "porque funciona assim".

Respostas:

1 para resposta № 1

Os valores não são "aleatórios", eles são apenas o que aconteceu na memória já. Isso é o que significa para uma variável ser não inicializada.


0 para resposta № 2

Isso é dependente de implementação, mas normalmente o compilador não escolhe qualquer valor para a variável. Em vez disso, o compilador aloca espaço na pilha onde a variável será armazenada - mas ele não coloca nenhum valor lá. Então, se você ler a variável não inicializada, provavelmente obterá o que quer que tenha acontecido antes.