默认的命名空间:: 就是全局作用域

include <stdio.h>

int i = 1;

struct Test
{
private:
int i;
public:
int j;

int getI()
{
    i = 3;
    
    return i;
}

};

int main()
{
int i = 2;

Test test;

test.j = 4;

printf("i = %d
", i);
printf("::i = %d
", ::i);//默认的命名空间::   就是全局作用域
// printf("test.i = %d
", test.i);  // Error
printf("j = %d
", test.j);
printf("test.getI() = %d
", test.getI());

return 0;

}
输出:
i = 2
::i = 1
j = 4
test.getI() = 3

原文地址:https://www.cnblogs.com/DXGG-Bond/p/13706999.html