参考链接

​RUNOOB.COM​

命名空间

    在写大项目的时候,难免会遇到有相同名字的函数,遇到这种情况下我们该如何处理?这时我们可以在前面添加前缀,来进一步明确函数所处的位置。说白点,就是你们班上有两个相同名字小A的同学,但是一个活泼类型、一个内向类型。因此,我们在班上找活泼的小A就只需在前面明确好他的性格类型,就知道找的谁啦。

    那么,在C++中该如何处理呢?C++中需要引入关键字namespace命名空间:

namespace 空间名1
{
/*核心语句*/
}
namespace 空间名2
{
/*核心语句*/
}

实例说明:

#include <iostream>

using namespace std;

//命名空间 dog
namespace dog
{
void getInfo()
{
cout << "dog" << endl;
}
}

//命名空间 cat
namespace cat
{
void getInfo()
{
cout << "cat" << endl;
}
}
int main()
{
dog::getInfo();
cat::getInfo();

getchar();
}

运行结果

dog
cat

using指令

    在上面程序,我们使用了(using namespace std;)代码,其实就是告诉编译器,后面代码使用该指定的命名空间,所以cout不需要写成(std::cout)格式。当然,即使声明了命名空间using,程序调用时也可以使用std::cout 格式。

命名空间嵌套

    它的含义就是字面的意思,命名空间内可以嵌套命名空间:

namespace 空间名1
{
/*核心语句*/
namespace 空间名2
{
/*核心语句*/
}
}

实例

#include <iostream>

using namespace std;

//命名空间 dog
namespace dog
{
void getInfo()
{
cout << "dog" ;
}
//嵌套命名空间 eat
namespace eat
{
void getInfo()
{
cout << " eat meat" << endl;
}
}
}


int main()
{
dog::getInfo();
dog::eat::getInfo(); //嵌套命名空间访问

getchar();
}

运行结果

dog eat meat

更多《计算机视觉与图形学》知识,可关注下方公众号:

刷野打怪上王者·C++篇·第20期·命名空间_ios