C++ 简单块范围

示例

块中变量的范围{ ... },在声明后开始,并在块末尾结束。如果存在嵌套块,则内部块可以隐藏在外部块中声明的变量的范围。

{
    int x = 100;
    //   ^
    //   x的范围从这里开始
    //
}   // <- Scope of `x` ends here

如果嵌套块在外部块中开始,则新声明的变量具有与外部类中相同的名称,它将隐藏第一个变量。

{
    int x = 100;

    {
        int x = 200;

        std::cout << x;  // <- Output is 200
    }

    std::cout << x;  // <- Output is 100
}