名称空间
用来控制名称的作用域
- 声明区域:在函数外声明的全局变量,声明区域为其声明所在的文件,函数中声明的为其代码块
- 潜在作用域:从声明点开始到声明区域的结尾,比声明区域小,因为变量必须先定义
- 作用域:变量对程序可见的范围被称为作用域
名称空间的申明:
namespace Jack{
double pail;
void fetch();
}
默认情况下,名称空间中声明的名称的链接性为外部的(除非引用了常量)
namespace Jack{
char* goose(const char*);
}//中途加入
namespace MEF = myth::elements::fire //名称空间的等效
namespace
{
int ice;
int bandycoot;
}//创建未命名的名称空间,可替代链接性为内部的静态变量
名称空间的访问
1.using声明 函数中声明的相同名变量 则不能导入
using Jack::pail; //后续可直接 pail
2 using 编译指令 局部名称隐藏命名空间
using namespace Jack;