gpt4 book ai didi

c++ - 有没有办法在 C++ 中访问外部范围内的局部变量?

转载 作者:IT老高 更新时间:2023-10-28 22:33:47 32 4
gpt4 key购买 nike

只是出于好奇:如果我有嵌套范围,就像在这个示例 C++ 代码中一样

using namespace std;

int v = 1; // global

int main (void)
{
int v = 2; // local
{
int v = 3; // within subscope
cout << "subscope: " << v << endl;
// cout << "local: " << v << endl;
cout << "global: " << ::v << endl;
}
cout << "local: " << v << endl;

cout << "global: " << ::v << endl;

}

有什么方法可以从“中间”范围(既不是全局也不是本地)访问值为 2 的变量 v

最佳答案

您可以像这样将新引用声明为别名

int main (void)
{
int v = 2; // local
int &vlocal = v;
{
int v = 3; // within subscope
cout << "local: " << vlocal << endl;
}
}

但我会完全避免这种做法。我花了几个小时调试这样一个结构,因为一个变量在调试器中显示为由于范围而改变,我无法弄清楚它是如何改变的。

关于c++ - 有没有办法在 C++ 中访问外部范围内的局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358628/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com