为follwoing程序段:范围
std::vector<int*> v;
{
int a=5000;
int *aa =&a;
vv.push_back(aa);
cout<<"\n"<<*(v[0]);
}
cout<<"\n"<<*(v[0]);
输出:
5000
5000
我的疑问这里如果插入指针到一个载体,载体应具有地址和虽然从当地块以外的地方进行访问,但不应打印元素,因为“a”具有局部范围。 这里指针的oject具有局部范围,它仍然可以从范围之外访问它。 plese帮助。 谢谢
这是未定义的行为 – 2014-10-17 14:08:15
访问陈旧的指针。看[这个答案](http://stackoverflow.com/a/6445794/1782465)。 – Angew 2014-10-17 14:10:08
“Stale指针”。我喜欢这个表情。 – Quentin 2014-10-17 14:11:09