命名空间

使用了命名空间即定义了上下文。本质上,命名空间就是定义了一个范围。

定义命名空间

namespace namespace_name {
   // 代码声明
}
name::code; // code 可以是变量或函数

,如果您只打算使用 std 命名空间中的 cout 部分,您可以使用如下的语句:

using std::cout;

命名空间可以定义在几个不同的部分中,因此命名空间是由几个单独定义的部分组成的。一个命名空间的各个组成部分可以分散在多个文件中。

所以,如果命名空间中的某个组成部分需要请求定义在另一个文件中的名称,则仍然需要声明该名称。下面的命名空间定义可以是定义一个新的命名空间,也可以是为已有的命名空间增加新的元素:

namespace namespace_name {
   // 代码声明
}

嵌套的命名空间

#include<iostream>
using namespace std;
//
namespace test{
void func(){
cout<<"当前为test空间";
}
 namespace second{
  void func1(){
   cout<<"second";
  }
 }

}
namespace test1{
void func(){
cout<<"当前为test1空间";

}

}
int main(){
//使用test1命名空间
using namespace test1;
func();

using namespace test::second;
func1();


return 0;
}

注意:

在使用两个命名空间的时候 使用不同命名空间调用相同函数会报错

解决办法

原文地址:https://www.cnblogs.com/webcyh/p/11296392.html