有没有办法访问已隐藏在另一个范围内的局部变量的值?

Jim*_*mmy 4 c++ scope

我知道如果一个变量是全局的,你总是可以通过在变量名前加上来访问它的值::......但是有没有办法访问隐藏在另一个范围内的局部变量的值?

我想到这样的事情:

void f() {
    int x = 1;
    {
        int x = 2;
        //access the value of the variable x (with the 1 in it) inside here
    }
}
Run Code Online (Sandbox Code Playgroud)

如果语言不支持这个,那么我对一些hacky解决方案完全没问题.

Kei*_*son 6

可以将外部x的地址分配给指针对象,然后通过内部作用域中的指针引用它(假设您没有隐藏它的另一个同名指针对象).

或者,只要您编辑代码,就可以更改名称.


Uni*_*rsE 0

我认为C++不支持这个。