C++ 未初始化变量的值来自何处?

C++ 未初始化变量的值来自何处?,c++,variables,garbage,C++,Variables,Garbage,当您声明局部变量时,我喜欢这样: int i; 如果使用这个变量,就会得到未定义的行为,因为我还没有初始化。但我持有一个值,一个垃圾值,这个值来自哪里?它是从内存中的一个随机位置来的吗?它以前在at&i内存中是什么。它以前在at&i内存中是什么。你不知道,你说不出来。未定义的行为意味着任何事情都可能发生 也就是说,在实践中,大多数实现和大部分时间都是int i;将在堆栈上保留sizeofint字节,该字节通常位于主内存中的某个位置,因此i的值将是此时堆栈上发生的任何事情 但不要依赖它,记住这并

当您声明局部变量时,我喜欢这样:

int i;

如果使用这个变量,就会得到未定义的行为,因为我还没有初始化。但我持有一个值,一个垃圾值,这个值来自哪里?它是从内存中的一个随机位置来的吗?

它以前在at&i内存中是什么。

它以前在at&i内存中是什么。

你不知道,你说不出来。未定义的行为意味着任何事情都可能发生

也就是说,在实践中,大多数实现和大部分时间都是int i;将在堆栈上保留sizeofint字节,该字节通常位于主内存中的某个位置,因此i的值将是此时堆栈上发生的任何事情


但不要依赖它,记住这并不总是正确的。

你不知道,你也说不出来。未定义的行为意味着任何事情都可能发生

也就是说,在实践中,大多数实现和大部分时间都是int i;将在堆栈上保留sizeofint字节,该字节通常位于主内存中的某个位置,因此i的值将是此时堆栈上发生的任何事情


但是不要依赖它,记住这并不总是正确的。

变量通常在内存中有一个位置,在这种情况下,它的值将是该内存位置中的任何值。变量通常在内存中有一个位置,在这种情况下,它的值将是该内存位置中的任何值。