对于以下计划部分:
std::vector<int*> v;
{
int a=5000;
int *aa =&a;
vv.push_back(aa);
cout<<"\n"<<*(v[0]);
}
cout<<"\n"<<*(v[0]);
Run Code Online (Sandbox Code Playgroud)
输出:
5000
5000
Run Code Online (Sandbox Code Playgroud)
我怀疑如果插入指向矢量的指针,矢量应该有地址,并且当从局部块外部访问它时它不应该打印elemet因为"a"具有局部范围.在这里,该指针的对象具有局部范围,仍然可以从范围外部访问.请求帮助.谢谢