day1:
双冒号运算符,作用域运算符号 ::
int a = 10;
int main()
{
int a = 66;
cout << ::a << endl;//把作用域提高到全局的,会打印10
return 0;
}
day2
namespace 命名空间
解决名称冲突问题
必须在全局作用域下声明
命名空间可以放函数,结构体,类,变量
命名空间是开放的,可以随时加入新的成员
day3
using声明,
namespace testA
{
int a = 80;
}
namespace testB
{
int a = 100;
}
void test
{
//using 编译指令
using namespace testA;
using namespace testB;
cout << testA::a <<endl; //要指定那个命名空间下的
}
int main()
{
int a = 50;
//using 声明
using testA::a
cout << a <<endl; //出错,编译器有就近原则,不知道用那个,就报错了,所以我们要避免二义性
return 0;
}