请问这个第二行输出的::a是什么意思?为什么这个函数的输出是a=5,a=7

请问这个第二行输出的::a是什么意思?为什么这个函数的输出是a=5,a=7

img

因为有个全局变量a=3,然后main函数中又有一个a,所以::a表示使用的是全局变量a
第一个a输出为5,因为这个a是main里的a
第二个a输出为7,因为f函数中对全局变量a的值加了4,所以输出为7