在C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作
用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字
污染,namespace关键字的出现就是针对这种问题的。
这么说可能不太理解,我们来用代码举个栗子。
#include <stdio.h>
#include <stdlib.h>
int a = 10;
int a = 20;
int main()
{
printf("hello world");
system("pause");
return 0;
}
在这里我们如果想要定义这个 a 是不可以的。因为它们两个在同一作用域, 都是 a,无法区分谁是谁。
但是如果写成这个样子,将其中一个 a 放在main函数里,就可以编译通过。 所以说,不是不可以出现同名的变量,只要放在不同区域就可以了。
#include <stdio.h>
#include <stdlib.h>
int a = 10;
int main()
{
int