-
作用:避免命名冲突,便于同名但不同用法的变量或函数等的使用。
-
定义命名空间:
namespace Name
{
//代码声明
}
调用命名空间中的变量或函数:
1) using namespace XXX;
如
using namespace std;
int main()
{
cout << “…”;
return 0;
}
2) (自定义名字)Name::XXX;
如
std::cout << "...";
- using指令也可用于指定命名空间中的特定项目。
如
using std::cout;
该语句之后的代码中cout可直接使用,但命名空间std中的其他项目需加上“命名空间名::”,如 std::endl
- 命名空间可嵌套使用
#include<iostream>
using namespace std;
int p=10;
namespace A
{
int a=1;
namespace B
{
int b=3;
}
}
int main()
{
int p=5;
cout << "a = " << A::a << endl;
cout << "b = " << A::B::b <<endl;
cout << "p = " << p <<endl; //输出局部变量p=5
cout << "p = " << ::p <<endl; //输出全局变量p=10
return 0;
}
注意: 当局部变量p与全局变量重名时,用::p表达全局变量。