C++中提出了命名空间的概念
命名空间将全局作用域分成不同的部分
不同命名空间中的标识符可以同名而不会发生冲突
命名空间可以相互嵌套
全局作用域也叫默认命名空间
-
命名空间的定义:
namespace name { 代码声明}
-
使用相关命名空间的方法:
name::code; // code 可以是变量或函数
-
代码
#include <iostream>
namespace name_1
{
int i=1;
}
namespace name_2
{
int i=2;\
namespace name_3
{
struct a
{
char num[10];
int arr;
};
}
}
int main ()
{
using namespace name_1;
using name_2::name_3::a;
printf("i=%d\n",i);
printf("i=%d\n",name_2::i);
// name_2::name_3::a t1;
a t1={"aaa",3};
printf("t1.num=%s\n",t1.num);
printf ("t1.arr=%d",t1.arr);
return 0;
}
- 回头在回来整理,补充