Possible Duplicate:
Can a local variable s memory be accessed outside its scope?
考虑以下简单的C++代码:
#include <iostream>
struct Test
{
Test( int i )
: ref( i ),
ptr( &i ) {}
int &ref;
int *ptr;
};
int main()
{
Test t( 5 );
std::cout << t.ref << std::endl;
std::cout << *t.ptr << std::endl;
return 0;
}
班级测试储存着一个点子,是当地变量的指代器,即生活在 st锁上。 我假定,在从测试建筑商返回后,这片人就会被毁。 但显然情况并非如此。 由于这是该方案的产出:
5
134513968
接触点员的结果是我所期望的:一种随时间变化的随机价值。 但是,参考渠道总是在5个方面——正如当地变量仍然存在一样。
谁能向我解释这种行为? I m在64bitlav使用g++(转化4.6.3)。
Regards, enuhtac