C++ 入门 名称空间 namespace

名称空间 namespace 是C++中一项比较新的特性,为了使组合多个厂商的不同代码简便而产生的。

举个例子,有一个函数叫 wanda(),在2个厂商已经封装好的函数中,都有wanda()这个函数,所以在程序中使用wanda()函数时编译器不知道使用哪个

使用了namespace之后 两个函数的全程就是

M公司的:Microflop::wanda()

P公司的:Piscine:wanda()。

这样,程序就可以使用名称空间来区分不同版本:

1 Microflop::wanda ("go dancing?");
2 Piscine::wanda("a fish named desire");

按照这种方式,类,函数和变量便是C++编译器的标准组件,它们都被储存在名称空间std里,仅当头文件没有.h时,情况才是如此。也就意味着,在iostream中定义的用于输入输入输出的cin,cout实际上是std::cin, std::cout。而end也是std:;endl,实际上可以写成:

std::cout<<"come and go.";
std::cout<<std::endl;

不过这样比较麻烦,所以就用了using编译指令,下面一行代码表明使用std名称空间中定义的名称,所以不需要使用std::

using namespace std;

这个using指令其实是个偷懒的写法,更好的方法是只使用所需的名称:

using std::cout;
using std::endl;

 

posted on 2012-12-23 13:30  Zaku08  阅读(238)  评论(0)    收藏  举报