荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bakey (深海的鱼爱上会潜水的猫), 信区: Program
标  题: 浅谈名字空间zz....
发信站: 荔园晨风BBS站 (2005年05月31日17:44:26 星期二), 站内信件

浅谈名字空间
作者:KGZ     2003.05.17
  相信大家对名字空间这个名词不会陌生吧?特别是STL的初学者,常因为忘了加上
using namespace std; 而出错,吃尽苦头的 :)。namespace 是C++的一个关键字
。实际上,它只是起到标识作用,把全局的变量,函数,类等放到一起,细化管理。下
面我们就来看一下名字空间究竟是怎样一个东东吧  :)
一,如何定义一个名字空间呢?
很简单,按以下格式:
namespace Space'sName
{
  //declaration
}
eg.
namespace Hello
{
  void foo(){ cout<<"Hello"; }
}
名字空间是可以嵌套定义的,eg.
namespace HelloWorld
{
   namespace Hello
   {
     void foo(){ cout<<"Hello"; }
   }
 void fooo(){ Hello::foo(); cout<<" World!"<<endl; }
}
二,如何使用?
在这里我们就举两个常用的方式吧。
1,作用域限定符::
eg.
#include<iostream>
using namespace std;
namespace HelloWorld
{
   namespace Hello
   {
     void foo(){ cout<<"Hello"; }
   }
 void fooo(){ Hello::foo(); cout<<" World!"<<endl; }
}
void main()
{
  HelloWorld::fooo();
}
2,用using指令
#include<iostream>
using namespace std;
namespace HelloWorld
{
   namespace Hello
   {
     void foo(){ cout<<"Hello"; }
   }
 void fooo(){ Hello::foo(); cout<<" World!"<<endl; }
}
using namespace HelloWorld;
void main()
{
  fooo();
}
其实在上面的一个小程序中,我就用了一个using namespace std; :)
另外,若名字空间的名很长,或难记,我们还可以用别名
 eg.
namespace HW=HelloWorld;
这样,以后要是要用到HelloWorld的话就直接用HW就行了 :)
本人水平有限,错误之处还请各位指正。:)
--
   日子一天天过去,    我很快就会死掉
               全国BBS都关了,我们去睡觉了
              我是个大猪头
※ 修改:·bakey 於 05月31日17:44:45 修改本文·[FROM: 192.168.111.149]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.111.149]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店