c++ - 如何在 C++ 中访问函数作用域变量?

标签 c++ scope-resolution

<分区>

可以使用::运算符在函数内访问全局范围变量。由于全局作用域没有名称,因此::的左侧可能为空。我将如何访问在函数范围内定义的变量,该变量稍后会在函数本身的 block 中被覆盖。在下面的代码中,我将如何访问初始化为 1 的变量?

extern int reused = 0;
int main()
{
    int reused = 1;
    {
        int reused = 2;
        cout << reused << endl; // how to get the reused inited to 1 here?
    }
}

最佳答案

您可以使用 ::reusedmain 中的任何位置访问全局 reused。但是,无法在声明第三个 reused 的 block 内使用第二个 reused 。该语言没有为此提供机制。

关于c++ - 如何在 C++ 中访问函数作用域变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48821637/

相关文章:

c++ - 作业 : Avoiding magic numbers

c++ - 围绕问题传递字符串

C++ "::"没有类名

php - php调用父类方法的方法

c++ - "::"中的 "::tolower"是什么意思?

c++ - 从 “LLONG_MAX seconds”构造一个std::chrono::毫秒变量时会发生什么?

c++ - 在 Eigen c++ 中,如何将 NxM 矩阵的每一行乘以 Nx1 标量的 vector ?

C++ 查找方法不是 const 吗?

C++0x decltype 和范围解析运算符

C++ 设计问题 try catch