namespace 命名空间
(类似于java package概念)
一 创建一个命名空间
namespace NSP_A {
struct MyStudent
{
int age;
};
}
二 使用命名空间
1 使用自定义的命名空间
NSP_A::MyStudent t;
t.age = 18;
2 使用标准库的命名空间
#include <iostream>
//使用using namespace std;之前
//std::cout << " MyTeacher 构造函数 地址:" << this << std::endl;
//使用之后
//c++ 标准库的命名空间
using namespace std;
cout << " MyTeacher 构造函数 地址:" << this << endl;
3 嵌套使用
namespace A{
void a(){}
}
错误 : a();
// :: 域操作符
正确: A::a();
//当然也能够嵌套
namespace A {
namespace B{
void a() {};
}
}
A::B::a();
//还能够使用using 关键字
using namespace A;
using namespace A::B;
4 区分全局变量
当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分
int i;
int main(){
int i = 10;
printf("i : %d\n",i);
//操作全局变量
::i = 11;
printf("i : %d\n",::i);
}