Som*_*ken 1 c++ variables garbage
声明我喜欢的局部变量时:
int i;
Run Code Online (Sandbox Code Playgroud)
并且您使用此变量,您将得到未定义的行为,因为我尚未初始化.但我持有一个值,一个"垃圾"值,这个值来自哪里?它来自记忆中的随机位置吗?
你不知道,你不能说.未定义的行为意味着任何事情都可能发生.
也就是说,实际上在大多数实现中并且大部分时间int i;都会sizeof(int)在堆栈上保留字节(通常在主存储器中的某个位置),因此此时的值i将是堆栈上的任何内容.
但不要依赖它,并记住这并非总是如此.