为什么有命名空间?在大型程序下,多程序员协同合作,为避免命名冲突。通俗的就是:你做了一个库,我做了一个库,我不知道你变量、函数的命名,你也不知道我变量、函数怎么命名的,这就有重名的可能。但只要把各自做的库放入命名空间内,对应释放命名空间的变量、函数就可以避免重名。
1、简单定义
namespace namespaceA
{
int a = 0;
}
2、嵌套定义
namespace namespaceB
{
int a = 1; //a重名,在主程序使用就必须指定命名空间
namespace namespaceC
{
struct teacher
{
int age;
int num;
}t1;
}
}
使用方式1:最简单,但也失去了命名空间的意义
using namespace namespaceA;
a=2
使用方式2:合理释放变量、函数,既能避免重名,又能简化代码
using namespaceB::namespaceC::t1;
使用方式3:最复杂,但能完全避免重名
namespaceB::a = 0;