C++命名空间
什么是命名空间呢?按照字面意思就是命名了一个空间,实际上,命名空间可以理解为定义了一个范围,定义了上下文。作为附加信息来区分不同库中相同名称的函数、类、变量等。用计算机系统中文件夹的例子来说明,同一个文件夹下可以包含很多文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。
回到我们的C++中来,初学者定会被告知每个程序之前必须要加上:
#include <iostream>
using namespace std;
实际上这里的 using namespace std; 就是告知编译器使用std 标准命名空间,后续的代码将使用这个命名空间中的名称。
当然我们也可以自己定义命名空间。
定义命名空间
命名空间的定义使用关键字namespace,后面跟着命名空间的名称,如:
namespace namespace_name
{
//代码声明
}
定义了一个命名空间之后可以使用命名空间名+ :: 来访问该命名空间内的内容。
如以下的实例1:
#include <iostream>
using namespace std;
// 第一个命名空间
namespace first_space{
void func(){
cout << "Inside first_space" << endl;
}
}
// 第二个命名空间
namespace second_space