我在C#领域经验丰富,其编译器将未初始化变量的值设置为零。我发现this是我第一个问题的答案 - 为什么C ++没有。
但是现在 - C ++编译器如何“选择”随机变量?
我认为它比'因为它的工作原理'更有趣/更先进。
答案 0 :(得分:1)
这些值不是“随机的”,它们只是已经发生在记忆中的任何事情。这就是变量未初始化的意义。
答案 1 :(得分:0)
这取决于实现,但通常编译器不会为变量选择任何值。相反,编译器会在堆栈中分配存储变量的空间 - 但它不会在其中放置任何值。因此,如果您读取未初始化的变量,您可能会事先得到堆栈中发生的任何事情。