目录
C++关键字:namespace
自定义命名空间:
namespace 自定义名
{
变量/函数/结构体;
}
1:可嵌套定义
2:自动合并同名命名空间
相当于密封的房间如果不展开或不使用::域作用限定符党的话无法访问
::域作用限定符
:: -----即访问查找前面的域
: : -----前面空白即为全局域;
自定义域名:: -----前面为自定义域名即查找该域。
展开域
using namespace 自定义域名;
例如:
C++中的命名空间为std
using namespace std; -----即展开了C++的命名空间域
using std::cout; ----------单独展开std中的常用项cout
补充:
C++中命名空间默认是未展开的
编译器的查找是从 局部域 ---->全局域----->展开了的命名空间域or指定访问命名空间域
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;//1:展开命名空间
//2:展开常用的
//using std::cout;
//using std::endl;
int x = 0;
//自定义命名空间
namespace jj
{
int x = 1;
//嵌套定义
namespace jj2
{
int x = 3;
}
namespace jj2
{
int y = 3;
}
}
int main()
{
//局部变量
int x = 2;
//3:用时指定
std::cout << x << std::endl;//局部域
cout << ::x << endl; //全局域
cout << jj::x << endl; //命名空间域
cout << jj::jj2::x << endl; //嵌套命名空间域
cout << jj::jj2::y << endl; //重名命名空间域
return 0;
}
输入&输出
<<流插入运算符
>>流提取运算符