c++中使用namespace来防止命名冲突(重命名),我们经常使用的一些函数和变量都被放在一个叫std的namespace中,如标准I/O流操作,vector等等。我们在每一个文件中都可使用std中的东西,原因在于std是全局的。而我们在使用自己写的namespace时,要先包含我们写的包含它的定义或声明的文件。
由于std中的内容繁多,不建议直接使用using namespace std;甚至也不建议使用形如using std::cout的方式。当然那是对于比较大的工程代码而言的,而且现在的的IDE如Eclipse很智能地导入需要的最小集合。
还有一点也许让初学者迷惑的:namespace中可以包含类,类中也可以包含namespace。