【命名空间是用来组织和重用代码的。因为人类可用的单词数太少,并且不同的人写的程序可能有的变量有重名现象。引入了命名空间这个概念解决这一问题。】
【在c 语言的使用传统中,比如使用的iostream.h 这一头文件中,使用的名字具有全局作用域。
而在新标准的c++ 语言中,为了防止名字之间互相污染,规定使用库文件iostream(不带.h),使用的名字不具全局作用域,要在程序中使用的话必须指明所用名字所处的作用域】
【如上所说,在c++ 标准中,使用标准输入输出应以std::cin 和std::cout 的形式。
作用域操作符(::)的含义是:编译器应从操作符左侧名字所示的作用域中寻找右侧那个名字。】
【使用using 声明可以更为快捷地使用某一作用域中的名字形式如下:
using namespace::name;
一旦声明了上述语句,就可以直接访问命名空间中的名字。
按照规定,每个using 声明引入命名空间中的一个成员。】
【头文件不应包含using 声明:
头文件的内容会拷贝到所有引用它的文件中去,对于程序来说,如果不经意间包含了一些不期望的名字,可能产生始料未及的错误。】