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);
}