我知道如果一个变量是全局的,你总是可以通过在变量名前面加上 ::
... 来访问它的值...但是有没有办法访问局部变量的值已经隐藏在另一个范围内?
我在想这样的事情:
void f() {
int x = 1;
{
int x = 2;
//access the value of the variable x (with the 1 in it) inside here
}
}
如果语言不支持这个,那么我完全可以接受一些 hacky 解决方案。
最佳答案
您可以将外部 x 的地址分配给一个指针对象,然后通过内部作用域中的指针引用它(假设您没有隐藏它的另一个同名指针对象) .
或者,只要您正在编辑代码,就可以更改名称。
关于c++ - 有没有办法访问隐藏在另一个范围内的局部变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7047621/