首页 > 其他 > 详细

解释名字空间

时间:2014-03-12 22:51:29      阅读:555      评论:0      收藏:0      [点我收藏+]

       简单地说,名字空间namespace,是指标识符的各种可见范围。在写大程序时,不同程序员在使用标识符时,可能出现名字重叠冲突现象,为此C++中引入名字空间概念,将相同我名字放入不同的名字空中,就可以避免相同的名字的冲突。

        举一个例子,我们两个班在上课,在每班各有一个学生叫李刚。为了防止名字冲突,在叫李刚时前面加上班级,这个班级就是名字空间。

       由于C++标准程序库中的所有标识符都被定义于一个名为std的namespace中,所以我们在程序前面要加上使用它的语句:using namespace std;

     一 名字空间有三种使用方法(参照课本P12)

    1. using namespace std---这种方法,在后面没有特别声明均表示名字来自空间std;

    2.使用“::”域运算符。

        空间名::名字,如std::cout<<"hello!"--表明此处使用的标识符cout来自名字空间std;  

   3.使用using和域运算符

       如using std::cout<<"Hello!";

    二  名字空间还可以自己定义

      定义关健词:namesapce

      语法:namesapce 空间名

     例如:

#include<iostream>  
using   namespace   std;  //使用标准命名空间
  
namespace   namespace1  //自己定义第一个命名空间
  {         
    int a=100;
  }  

 namespace  namespace2 //自己定义第二一个命名空间
 {  
	 int a=200;
 }  

  void   main()  
  {  int a=300;
      cout<<"nameapce1:a="<<namespace1::a<<endl;
      cout<<"nameapce2:a="<<namespace2::a<<endl;
      cout<<“main:a="<<a<<endl;
  }  


  三.还可以嵌套定义名安空间

   例:

namespace   HelloWorld  
  {  
        namespace   Hello  
         {  
            void   foo()
	     {   cout<<"Hello";   }  
         }  
        void   fooo()
	     {   Hello::foo(); 
	         cout<<"   World!"<<endl;    }  
  }  

  void   main()  
  {  
      HelloWorld::fooo();  
  } 


注:初学者,可以不用自己定义名字空间,只要明白名字空间含义及为什么使用std标准空间就行了。

 

 

解释名字空间,布布扣,bubuko.com

解释名字空间

原文:http://blog.csdn.net/yixueming/article/details/21040535

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!