using关键字

using关键字
  1、using声明与using指示符:前者是声明某名字空间内的一个成员,后者是使用整个名字空间。例如:

      代码:
            using std::map; // ok,using声明
            using namespace std; //ok,using指示符

  2、该using指示符语句可以加在程序文件的几乎任何地方,包括文件开头(#include语句之前)、函数内部。不过用using指定的名字空间作用域(生命周期)受using语句所在位置的生命周期约束。如,函数内部使用“using namespace myspacename;”则 myspacename仅在该函数内部可见。


  3、可以用using语句指定多个名字空间,使得多个名字空间同时可见。但这增加了名字污染的可能性,而且只有在使用各名字空间相同成员时由多个using指示符引起的二义性错误才能被检测到,这将给程序的检测、扩展、移植带来很大的隐患。因此,因该尽量使用using声明而不是滥用using指示符。

 

使用实例:


  1、当为私有或为保护访问时,用using在子类中声明基类的公有成员后,在成员在子类中认为共有。

 

       如果子类私有或保护继承自基类,那么此时子类的对象是不能调用基类公有的成员的。
       class CBase
      {
            public print();
       };
       class CChild : private CBase
      {
            public:
            using CBase::print(); //用了这句声明,main() is OK, 否则main中child 就不能调用print
       }
       void main()
      {
            CChild child;
            child.print();
      }

  2、参见:boost:pool 一实例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值