簡單的塊範圍

{ ... } 中變數的範圍在宣告之後開始,並在塊的結尾處結束。如果存在巢狀塊,則內部塊可以隱藏在外部塊中宣告的變數的範圍。

{
    int x = 100;
    //   ^
    //   Scope of `x` begins here
    //
}   // <- Scope of `x` ends here

如果巢狀塊在外部塊中開始,則在外部類中具有相同名稱的新宣告變數將隱藏第一個。

{
    int x = 100;

    {
        int x = 200;

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

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