向我提出的问题是:
未初始化变量的值在C ++中会是什么?我们必须初始化所有变量吗?初始化变量的规则是什么?
我查看了我的文本以及我手边的其他文字,似乎无法找到答案。这就是我的尝试:
C ++中未初始化变量的值取决于存储在未初始化变量所分配给的内存中的先前值。初始化所有变量不是必需的,例如,如果变量将立即通过用户输入分配值,则不需要初始化变量。良好的编程习惯应该是初始化变量,如果变量未初始化,则注释应该解释保留变量未初始化的原因。
我错过了什么吗?他们的资源是否有人可以指向我?我错过了变量初始化的“规则”吗?谢谢。
答案 0 :(得分:2)
通常,您不知道未初始化的变量中存储了什么,因此初始化变量始终是个好主意。这样你就可以避免以后混淆;例如,如果您稍后在程序中打印出一个变量用于调试(并且尚未初始化它),则可能会打印出一些奇怪的值。
如果您想了解更多信息,请在此处回答您的问题:http://www.cplusplus.com/forum/general/62807/
答案 1 :(得分:0)
非常好。不要忘记在程序初始化时将具有全局范围的变量(全局变量和静态局部变量)初始化为零。
答案 2 :(得分:0)
对于包括静态类成员的全局变量和静态变量,它们将初始化为零/ NULL。其他一切通常都是未定义的,意思可以是任何东西。一个例外是在高安全性环境中,系统可能会清除已释放的内存,在这种情况下,如果你使用它,它将全部为零。另一个例外是调试版本,其中有时使用特殊的幻数来初始化内存和变量,以此来检测一些常见的编程错误。
答案 3 :(得分:0)
声明变量但在使用之前未将其设置为明确的已知值。它会有一些价值,但不是可预测的价值。我建议你看看这个页面http://www.learncpp.com/cpp-programming/eight-c-programming-mistakes-the-compiler-wont-catch/