红魔咖啡馆

头发越掉越多,头发越掉越少

0%

【C++】命名空间

命名空间

使用

格式:

1
2
3
namespace 标识符{
    // 类,对象,变量,函数等
};

使用:

使用限定名:标识符::名字

同一个命名空间可以在一个或多个文件下重复使用

引入

  • 使用using namespace可以引入某个命名空间中的所有名称,这样就可以直接使用内部对应内容
  • 使用using声明可以引入某个限定标识符,这样就不需要使用限定名了
  • 引入声明区分全局与局部
  • 不限定命名空间的均默认处于全局命名空间global,引入时只需要使用::名字

嵌套

命名空间可以嵌套使用:

1
2
3
4
5
6
7
int a = 1;
namespace Space1{
    int a = 2;
    namespace Space2{
        int a = 3;
    }
}

调用时需要明确指出引用哪个,否则会造成不明确,默认输出全局的

1
2
3
4
using Space1::a;
cout << a <<endl;
using Space1::Space2::a;
cout << a <<endl;