我正在尝试学习C ++,特别是如何声明和初始化变量。我写了这段代码,但我不知道为什么变量c给出了一个我尚未分配的值。
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!\n";
int a, b;
a = 1;
b = 2;
int d(4);
int result;
auto num = b;
decltype(b) c;
result = a + b - d;
cout << c;
}
输出为-2,但我没有在任何地方声明c = -2!
答案 0 :(得分:1)
如果尚未初始化变量,则该变量将包含垃圾值。
答案 1 :(得分:1)
在C / C ++中,在函数中声明的值表示CPU堆栈上主内存的某些字节。这些字节通常很脏,需要初始化。如果不这样做,则值是不确定的。您总是得到“ -2”只是巧合。