定义
namespace 名字空间的名字{
全局变量
类型定义
函数
}
意义
对于一个较大型的C++程序来说,需要由多个程序员相互协作编写,这样的情况下容易出现不同程序员在需要负责的程序部分使用相同名字的变量或函数,导致程序合并后出现问题。名字空间的作用,就是将不同程序员编译的程序放入相应的名字空间,每个名字空间相对独立,空间内的变量和函数名只局限于当前空间下,从而解决命名冲突的问题。
名字空间的三种使用方法
(1)作用域限定符 名字空间名::标识符
表示明确访问是特定名字空间中的特定标识符
最麻烦
(2)名字空间指令
using namespace 名字空间名;
该语句可以在任何地方
表示在该指令之后,对指令所指的名字空间中所有标识符对当前作用域都可见
接下来都可以直接访问名字空间中的标识符,不需要加"名字空间名::"
当然也可以加
*对当前作用域可见
(3)名字空间声明
using 名字空间::标识符
将指定名字空间中的某个标识符(成员)引入到当前作用域,可以直接访问
*导入到当前作用域
#include <iostream>
using namespace std;
//定义名字空间
namespace wd1{
int g = 1024;
void func(void){
cout << "func" << endl;
}
struct Stu{
int no;
char name[40];
};
}
int main(){
using wd1::g;
cout << g << endl;
cout << wd1::g << endl;
wd1::func();
struct wd1::Stu s =