深入浅出之命名空间
1. 定義命名空間
命名空間的定義使用關鍵字?namespace,后跟命名空間的名稱,如下所示:
namespace namespace_name { // 代碼聲明 }
為了調用帶有命名空間的函數或變量,需要在前面加上命名空間的名稱,如下所示:
name::code; // code 可以是變量或函數
#include <iostream> using namespace std;// 第一個命名空間 namespace first_space{void func(){cout << "Inside first_space" << endl;} } // 第二個命名空間 namespace second_space{void func(){cout << "Inside second_space" << endl;} } int main () {// 調用第一個命名空間中的函數first_space::func();// 調用第二個命名空間中的函數second_space::func(); return 0; }2. using 指令
您可以使用?using namespace?指令,這樣在使用命名空間時就可以不用在前面加上命名空間的名稱。這個指令會告訴編譯器,后續的代碼將使用指定的命名空間中的名稱。
#include <iostream> using namespace std;// 第一個命名空間 namespace first_space{void func(){cout << "Inside first_space" << endl;} } // 第二個命名空間 namespace second_space{void func(){cout << "Inside second_space" << endl;} } using namespace first_space; int main () {// 調用第一個命名空間中的函數func();return 0; }3. 套的命名空間
命名空間可以嵌套,您可以在一個命名空間中定義另一個命名空間,如下所示:
namespace namespace_name1 {// 代碼聲明namespace namespace_name2 {// 代碼聲明} }您可以通過使用 :: 運算符來訪問嵌套的命名空間中的成員:
// 訪問 namespace_name2 中的成員 using namespace namespace_name1::namespace_name2; // 訪問 namespace:name1 中的成員 using namespace namespace_name1;4. 命名空間作用?
命名空間的作用:是建立一些互相分隔的作用域,把一些全局實體分隔開來。
實際上就是一個由程序設計者命名的內存區域,程序設計者可以根據需要指定一些有名字的空間域,把一些全局實體分別放在各個命名空間中,從而與其他全局實體分隔開來。
總結
- 上一篇: 深入浅出之数组
- 下一篇: 三星532u3x怎么U盘启动 三星532