Skypx 观心知天下, 不露亦锋芒

c++记录

2019-09-01

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;

}


评论

Content