C++的命名空间

C++和C语言是有一些相似的地方的,而且C++就是C语言的改进版本,所以学习C++也得学习C语言,但是他们又是有很多不同的地方

下面我们就看一下C++的命名空间

我们首先看一下

52bc0275abe44d218e86b614066ea6c0.png

如果是这一段代码,那么这里输出的是多少呢?

9e3eba69b345495a8a7eaa98460b23e9.png 

很好这里输出的是1,这里C语言里面也说过,如果有两个名字相同的变量,并且一个是局部的另一个是全局的,那么这里就是局部优先原则这里先访问局部的变量

那么如果我们想要访问全局的怎么办?(不能删除或者屏蔽掉局部的)

所以我们可以这样

43767c76210f4d9482e405aee353e974.png 

b157d80909604632afadfa49bd175ada.png 

我们可以看到,这里我们就访问到了0

44174479e45d4be8a51cc9a602f7e2ca.png 

而我们使用的这个就叫做域作用限定符

如果我们还想要一个a的变量呢?我们应该怎么办?

3646df2e50724cc0bdbaefae2fb71203.png 

那么如果我们分别想访问这三个变量,我们应该怎么访问呢?

f2e45d90c18c41c0a671ecd0827170cf.png 

我们就可以这样访问

faf2f4910ba54ebfb89a340012bd1ec7.png 

那么如果我们不想指定的访问tmp里面的a变量呢?

 11eac718c1da4e36ab173284a70c2811.png

我们就可以展开命名空间,但是这里我们看到出现错误了,因为我们展开了命名空间,所以这里的a和全局的冲突了,所以我们很多时候不需要展开

bd59fa1ce23c4b9990cf5fe9b0425b9d.png 

所以这时候我们就可以理解,为什么很多写C++的都刚开始会写上面的using namwspace  std

但是这里不展开也可以

我们可以指定

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Naxx Crazy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值