> 文章列表 > C++入门到入土(一)

C++入门到入土(一)

C++入门到入土(一)

C语言中,我们这样定义,输出100。

因为局部作用域的访问权限大于全局作用域的。

当我们加入头文件#include <time.h>的时候,就会报错

看报错,我们也知道,time重定义,因为我们头文件time.h里面有time函数,我们定义的整型time与头文件的time.h里面的函数名冲突了。

如何解决这样的问题,首先,C++引入了命名空间的概念。 

把我们的time整型变量放在命名空间内封装起来,这样我们就不会与头文件的冲突了。

既然可以封装,那么我们怎么展开封装。

我们展开命名空间就发现他冲突了。我们先来看看命名空间展开后,数据是否可以使用。

我们发现,展开后,我们命名空间里面的数据是可以正常使用的。

那么当外界有重命名的时候,我们又想用命名空间里面的数据,展开会报错,那么我们该如何解决呢。

这个时候,我们没有展开命名空间,但是我们可以通过,作用域运算符进行访问。

命名空间的名字::访问命名空间内的变量/函数 

 


 

当全局变量,局部变量,命名空间内变量,同时存在的时候我们会访问哪一个。

 

我们访问的权限是:

局部作用域->全局作用域->命名空间作用域

 

 

我们还可以怎么访问命名空间

 

 


我们命名空间还可以嵌套