C ++编译器如何将随机值设置为未初始化的变量?

时间:2016-05-21 17:28:42

标签: c++ compiler-construction

我在C#领域经验丰富,其编译器将未初始化变量的值设置为零。我发现this是我第一个问题的答案 - 为什么C ++没有。

但是现在 - C ++编译器如何“选择”随机变量?

我认为它比'因为它的工作原理'更有趣/更先进。

2 个答案:

答案 0 :(得分:1)

这些值不是“随机的”,它们只是已经发生在记忆中的任何事情。这就是变量未初始化的意义。

答案 1 :(得分:0)

这取决于实现,但通常编译器不会为变量选择任何值。相反,编译器会在堆栈中分配存储变量的空间 - 但它不会在其中放置任何值。因此,如果您读取未初始化的变量,您可能会事先得到堆栈中发生的任何事情。