湛江吴川:c语言关键词using namespace意思

来源:百度文库 编辑:高校问答 时间:2024/04/30 01:44:27

这是C++才会有的语言特性.
假如你使用一个程序库,他里面有桓霰淞拷衋bc,但是你自己也不小心定义了一个叫abc的变量,这样就会引起重定义错误.所以为了避免这种现象,C++引入了名字空间(namespace)的概念,编写程序库的时候最好把所有东西放在一个namespace中,例如
namespace MY
{
int abc;
char cab;
}
这样,你在外界就要通过MY::abc来访问MY里面的abc,而如果你自己在外面定义了一个叫abc的变量,不会引起重定义的错误.直接调用abc会调用你自己定义的abc,而只有用MY:abc才会真正调用出MY里面的abc
但是这样未免太麻烦,如果你确保你不会重复使用别人程序库里的名字,你就可以把他的名字空间里所有名字全部调出,这个过程就是using namespace,例如我输入
using namespace MY;
这样,下面我再调用abc时,就会自动调用MY里面的abc了.

C中没有这个,在C++中才出现的
C++为了避免名字冲突,用名字空间(namespace)来解决:
using namespace用来确定编译时缺省查找的名字空间。
例如,使用了STL的头文件,后面可以添加using namespace std;。这样就可以直接写类型名字了。如cout << endl;
否则每次用到STL类型的时候都要添加std::。如std::cout << std::endl;
如果编译器发现某个名字在多个缺省的名字空间都出现过,会显示编译错误,这时就必须使用::操作符强行指定名字空间了。
例如你自己定义了一个变量,名字也叫cout。这时你就必须指定是std::cout还是::cout(直接使用::表示根名字空间)。

没有听说过
应该是程序员自定义的吧

en en enha ohao好好

using: 调用
namespace: 名称空间

具体解释请看下文:

http://www0.ccidnet.com/tech/guide/2001/06/08/58_2311.html