命名空间的存在就是为了防止作用域的冲突,如果在相同的作用域内有相同的名称的变量就会有错误。
命名空间的声明:
namespace 命名空间名
{
//各种变量
}
命名空间的使用:
1.显示调用
eg:std::cout
2.using 声明:告诉编译器下面这个cout是属于std这个命名空间的
eg: using std::cout;
3.using 指示:把命名空间中所有变量都暴露出来
eg:using namespace std;
上面这三种方式中显示调用是最稳妥的方式,不会引起冲突,但是using声明和using指示都有可能造成冲突
使用示例:
1.普通的调用
#include <iostream>
using namespace std;//最常见的命名空间,cout,cin,cerr,endl都在这个命名空间中
namespace china
{
int a=5;
int b;
void foo()
{
cout<<"This is my namespace china"<<endl;
cout<<"a: "<<a<<endl;
cout<<"b: "<<b<<endl;
}
}
int main()
{
china::foo();//显示调用
using china::foo();//using声明
fo