using声明和using指示

using声明(using declaration)

using namespacename::namespacemember;

using声明一次只引入命名空间的一个成员。从效果上看就好像using声明语句为命名空间的成员在当前作用于内创建了一个别名一样。

using指示(using directive)

using namespace namespacename;

using指示令整个命名空间的所有内容变得有效。从效果上看,using指示的命名空间好像是定义在最近的外层作用域中。

 1 namespace blip{
 2     int i = 16, j = 15, k = 23;
 3 }
 4 
 5 int j = 0;
 6 void manip()
 7 {
 8     using namespace blip;
 9     ++i;                            //将blip::i设定为17
10     ++j;                            //错误:全局的j还是blip::j?
11     ++::j;                          //正确:将全局的j设定为1
12     ++blip::j;                      //正确:将blip;:j设定为16
13     int k = 97;                  //局部的k隐藏了blip::k,因为
14                                  //using指示就好像在manip之前的
15                                  //全局作用域定义了内容
16     ++k;                            //这个k是98
17     ++blip::k;                   //局部定义过后就得用原本的方
18                                  //式来操作blip的k,这里k为24
19 }

 

转载于:https://www.cnblogs.com/ScaleCX/p/9775992.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值