20
是否可以在其范围之外访问局部变量的内存?
我有以下代码。 #include <iostream> int * foo() { int a = 5; return &a; } int main() { int* p = foo(); std::cout << *p; *p = 8; std::cout << *p; } 并且代码仅在没有运行时异常的情况下运行! 输出是 58 怎么会这样?局部变量的存储不是在其功能之外不可访问的吗?