namespace的用法和作用(转载)

在大型软件开发项目中,类型和函数名冲突是常有的事,如:定义专用类型时就常常不只一次地使用相同的名字。为了避免这个问题。人们通常在代码中使用不同的词缀,由此造成代码很难管理、使用、阅读和编辑。碰到这种问题常常使人郁闷非常而且容易出错。看看下面的代码:  
   
  class   string   {    
                   
                    //这个类名虽然短小精干,意思表达明确,但是它已经被别人使用,你不能再用它作为类名了!    
   
        //...  
  };  
   
  class   CMYExclusive_string   {    
   
                      //   这倒是个较安全的名字,但是太冗长乏味。不断重复这样的名字会影响自己的心情。               //   况且这样处理还是有名字冲突的可能  
        //...  
  }  
   
  为了较好地解决这个问题,C++   提供了规定名字空间的手段,也就是用   namespaces   关键字。有了它,在自己代码中规范地命名类型和函数的自由度就大多了,有了它,你就可以充分使类型和函数的命名简洁、易于理解、使用方便和安全。从而摆脱了哪些在定义和声明中冗长乏味的词缀。你可以在名字空间中对类型或者函数进行分类,为类型和函数的使用系上安全带,例如:    
  //   某个头文件   vckbaseExcelSoft.h  
  namespace   vckbaseFSDUexcelSoft_   {  
   
        class   string   {  
                    //...  
                    };  
        class   vector   {  
                    //...  
                    };  
        //...etc.  
  }  
   
  接着可以象下面这样存取类型数据:  
   
  #include   "vckbaseExcelSoft.h"  
   
  void   main()   {  
   
          using   namespace   vckbaseFSDUexcelSoft_;    
          string   s;   //   引用   名字空间   vckbaseFSDUexcelSoft_里的   string   vckbaseFSDUexcelSoft_::string  
   
          //   下面又回到标准的   string    
          std::string   mySTDstr;    
  }

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yaneng/archive/2009/06/09/4253682.aspx

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值