C++笔记3.06

知识点6

::作用域运算符

在全局变量和局部变量同名时默认使用局部变量,但是在变量前面加上::后可以取全局变量。

命名空间存储变量、函数

使用命名空间(只能在全局范围内定义)解决命名冲突

  1. namespace A  
  2. {  
  3.     int a = 10;  
  4. }  

命名空间的嵌套

  1. namespace A  
  2. {  
  3.     int a = 10;  
  4.     namespace B  
  5.     {  
  6.         int b = 20;  
  7.     }  
  8. }  
  9.   
  10. int main()  
  11. {  
  12.     cout << A::B::b << endl;  
  13. }  

命名空间是开放的,可以随时把新的成员直接加入已有成员

命名空间中的函数声明后可以在外部定义

  1. namespace A  
  2. {  
  3.     int a = 10;  
  4.     void func();  
  5. }  
  6.   
  7. void A::func()  
  8. {  
  9.     cout << a << endl;  
  10. }  

无名命名空间

为命名空间添加别名

  1. namespace newname = oldname;  

通过using使用(整个)命名空间

通关using指明使用其中一个成员

  1. using yourNameSpace :: a;  
  2. cout << a << endl;  

发表评论

邮箱地址不会被公开。 必填项已用*标注