C++命名空间
先看一段代码
#include<iostream>
using namespace std;
int main()
{
cout<<"hello word;"<<endl;
}
上一段代码中第二句就是要将的重点,C++ Primer中称它为“名称空间”。他是C++的一个特性。在编写程序中有可能出现不同的模块出现相同的函数名,但是实现的功能却不相同。为了解决这个问题出现了命名空间。
定义命名空间的关键字为namespace
看一个实例
#include<iostream>
using namespace std;
namespace lady
{
void hello()
{
cout<<"hello lady"<<endl;
}
}
namespace man
{
void hello()
{
cout<<"hello Mr"<<endl;
}
}
int main()
{
//调用lady的hello函数
lady::hello();
//调用man的hello函数
man::hello();
return 0;
}
使用关键字namespace创建命名空间,在命名空间中创建自己所需要的函数。
命名空间中函数的调用方式有三种(在此仅以std为例)
第一种:
using namespace std;
//std为系统自带的命名空间,也可以将“std”换成你自己定义的命名空间
这种调用方式将在编译时将整个命名空间可用
第二种:
using std::cout;
由于有时候并不想将所用空间函数都对外使用,可用第二种方式只将cout对外开放。
第三种:
std::cout;
使用哪个函数就用命名空间名调用哪个函数。
三种使用方式视情况而定。