命名空间

 

如果是个有心的人都会问命名空间到底是干什么的?

其实简单的来说明明空间就是用来区别相似的东西的,就比如在两个类库中都有一个叫add的函数,如果不加以区分计算机怎么知道你到底用哪个库里面的add函数;这就是明明空间的作用。

不要把命名空间想的多么的神秘,我们是可以自己去定义命名空间的,不过在定义命名空间前,我们先来学一下,怎样调用命名空间的内容;

 

从这段程序中我们可以看出如果没有,using namespace std;这句话那么,cin,cout,endl;都将无法调用,说明using namespace std;与输入输出相关。那么我们该如何调用命名空间中的内容尼?

调用方法有三种:

    第一种:直接写uisng namespace stdd;则在其所在作用域内有效;

    例如一下两种情况:

 

第二种:

std::cout std::cin std::endl 等;

 

第三种:

在要调用的cout cin endl 前加上:using std::out; using std::cin; using std::endl;那么后面调用cout ,cin,endl,将不用在写std:: 了,例子如下:

 

如果说三中调用方式有什么区别,有人说第一种安全性最差,但是最方便;第三种安全性较好,同时也较为方便;第三种安全性最好,但是书写起来最繁琐;看自己的选择吧!

    

命名空间的定义:

namespace 后跟命名空间名例如:

namespace name{}

下面我将以一个简单的例子说明问题:

 

到此命名空间介绍到此结束,有错请指出谢谢!

 

原文地址:https://www.cnblogs.com/XLX-0327/p/10338084.html