知识点6
::作用域运算符
在全局变量和局部变量同名时默认使用局部变量,但是在变量前面加上::后可以取全局变量。
命名空间存储变量、函数
使用命名空间(只能在全局范围内定义)解决命名冲突
- namespace A
- {
- int a = 10;
- }
命名空间的嵌套
- namespace A
- {
- int a = 10;
- namespace B
- {
- int b = 20;
- }
- }
- int main()
- {
- cout << A::B::b << endl;
- }
命名空间是开放的,可以随时把新的成员直接加入已有成员
命名空间中的函数声明后可以在外部定义
- namespace A
- {
- int a = 10;
- void func();
- }
- void A::func()
- {
- cout << a << endl;
- }
无名命名空间
为命名空间添加别名
- namespace newname = oldname;
通过using使用(整个)命名空间
通关using指明使用其中一个成员
- using yourNameSpace :: a;
- cout << a << endl;