-
命名空间
- 命名空间的作用
为了解决在程序当中出现重名的情况,相当于在全局当中命名了一个空间
- 命名空间分为:有名命名空间 无名命名空间
- 命名空间的使用
关键字:namespace
域作用符号 ::
有名命名空间:
#include<iostream>
using namespace std;
namespace Test //有名命名空间的创建
{
int a=9;
void funt()
{
cout<<"命名空间函数"<<endl;
}
}
void funt()
{
cout<<"普通函数"<<endl;
}
int main()
{
int a=5;
cout<<"a="<<a<<endl;
cout<<"命名空间a="<<Test::a<<endl;//命名空间成员的调用
funt();
Test::funt();//命名空间函数的调用
}
结果:
a=5
命名空间a=9
普通函数
命名空间函数
无名命名空间:
#include<iostream>
using namespace std;
namespace //无名命名空间的创建
{
int a = 9;
void funt()
{
cout << "命名空间函数" << endl;
}
}
void funt()
{
cout << "普通函数" << endl;
}
int main()
{
int a = 5;
cout << "a=" << a << endl;
cout << "命名空间a=" << ::a << endl;//命名空间成员的调用
//funt();//错误:无名命名空间函数不可重载
::funt();//命名空间函数的调用
}
结果:
a=5
命名空间a=9
普通函数
命名空间的嵌套
#include<iostream>
using namespace std;
namespace Test//创建命名空间
{
int a=9;
namespace Test_1//创建命名空间
{
int b=10;
}
}
int main()
{
cout<<"Test a="<<Test::a<<endl;//调用命名空间Test
cout<<"Test_1 b="<<Test::Test_1::b<<endl;//调用嵌套命名空间Test_1
using namespace Test;//表示后面调用命名空间Test的变量
cout<<"Test a&#