一、概述
命名空间 namespace 将一组去哪聚范围内有效的类、对象或者函数组织到一个命名的名字下边,将全局范围分割成多个子域,每个子域就叫做命名空间。作用是在大工程中避免多个类和文件出现相同的成员名称。
命名空间使用的格式为:
namespace xxx_name
{
//变量
//对象
//函数等
}
例如:
namespace myspace
{
int age;
int weight;
class book;
setid(int id);
}
age、weight是命名空间myspace中的整型变量。
两个使用方法:
- 在使用该变量之前时声明using namespace myspace;
- 要在这个命名空间外去使用的话,需要用到范围操作符,双冒号,“::”。
例如:
myspace::age
myspace::weight
二、示例
#include <iostream>
using namespace std;
namespace val_first
{
val = 100;
}
namespace val_second
{
val = 200;
}
int main()
{
using namespace val_second;
cout << var <<endl;
return 0;
}
编译输出结果为:200。
三、标准命名空间
ANSI C++ 标准定义、标准C++库中的所有类、对象和函数都是定义在命名空间std中,例如,上述示例代码中的cout和endl标准输出流在声明了“using namespace std”之后,可以直接使用cout和endl,否则报错。