C++入门到入土(一)

C++入门到入土(一)_第1张图片

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

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

当我们加入头文件#include 的时候,就会报错

C++入门到入土(一)_第2张图片

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

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

C++入门到入土(一)_第3张图片

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

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

C++入门到入土(一)_第4张图片

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

C++入门到入土(一)_第5张图片

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

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

C++入门到入土(一)_第6张图片

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

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

 


 

C++入门到入土(一)_第7张图片

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

C++入门到入土(一)_第8张图片 

我们访问的权限是:

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

C++入门到入土(一)_第9张图片 

 C++入门到入土(一)_第10张图片

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

C++入门到入土(一)_第11张图片 

C++入门到入土(一)_第12张图片 


我们命名空间还可以嵌套

C++入门到入土(一)_第13张图片 

 

你可能感兴趣的:(C++入门到入土,c++,开发语言,c语言)