C++知识回顾(二)——名称空间

  随着工程的增大,名称相互冲突的肯能性增加,使用多个厂商的类库时,可能导致名称冲突。为了解决这些问题,需要用到名称空间。

  为了将代码加入名称空间,可以使用namespae将其包含,例如,编写一段代码,其中包含一个名为myFunction()的函数:

1 namespace mySpace
2 {
3      void muFunction();   
4 }

  名称空间可以是全局的,也可以位于另一个名称空间中,但是不能在代码块中。默认状态下,名称空间声明的名称链接性为外部的。除了用户定义名称空间外,另一种名称空间为全局名称空间。对应于文件级的声明区域。

  名称空间也可以实现方法或函数:

1 #include <iostream>
2 
3 namespace mySpace
4 {
5     void myFunction()
6     {
7         std::cout << "my namespace, my function!" << std::endl;
8     }
9 }

  为了使用自己定义名称空间中的myFunction(),可以用::(作用域解析操作符):

  1 mySpace::myFunction(); 

  为了使程序中的所有代码都可以使用mySpace中的myFunction()可以using指令预先指明名称空间:

1 #include <iostream>
2 using namespace mySpace;
3 
4 int main()
5 {
6     myFuction();
7     return 0;   
8 }

 可以在一个源文件中包含多个using指令,快速,高效,但绝对不可以过度使用。防止再次出现名称冲突。

原文地址:https://www.cnblogs.com/pipinet/p/4519432.html