命名空间: c++中为了在一定范围内让一部分模块起名不受其它模块命名冲突而采取的命名保护措施。 例如当一些模块功能由其它公司,或其它机构开发时,不能保证这些类名,函数取名与其它人员会产生命名重复的冲突。
其实在java,c#中命名空间使用非常多, java中的包(package) 更是发布开源包,用户开发时必须或常用的技术。这样,大家就可以各自开发自己的功能,实现堆积木式的开发。这或许是java强大易用的一个原因吧,因为有强大的开源包支持,汇集了牛人们的智慧。我们只需using 拿来用即可。
c++中也有许多著名的命名空间,如std, xml 等。 std (标准命名空间)是stl(标准模板库)的名字空间。我们如要如用stl中的类,函数,则需要using namespace std; 也可以直接std::加类名,函数名。
c++中定义一个命名空间使用namespace XXX
{
.....
}
用括号将这些类,函数全部包含进去。