Why is this c++ working? (variables with the same name)

前端 未结 5 1245
野性不改
野性不改 2020-12-10 08:03

Alright, I wanna know why this code is working, I just realized that I have two variables with the same name within the same scope.

I\'m using g++ (gcc 4.4).

5条回答
  •  有刺的猬
    2020-12-10 08:59

    The k in the inner for loop shadows (or hides) the k in the outer for loop.

    You can declare multiple variables with the same name at different scopes. A very simple example would be the following:

    int main()
    {
        int a;       // 'a' refers to the int until it is shadowed or its block ends
        { 
            float a; // 'a' refers to the float until the end of this block
        }            // 'a' now refers to the int again
    }
    

提交回复
热议问题