使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突.在C++中,变量.函数和类都是大量存在的.如果没有命名空间,这些变量.函数.类的名称将都存在于全局命名空间中,会导致很多冲突.比如,如果我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函 数,这是因为这两个函数都是位于全局命名空间中的.命名冲突还会发生在一个程序中使用两个或者更多的第三方库的情况中.此时,很有可能,其中一个库中的名 称和另外一个库中的名称是相同的,这样就冲突了.这种情况会经常发生