C++ 中的名稱空間


考慮這種情況,當我們有一個班級的兩個同名人士,Zara。每當我們需要區分他們,我們肯定需要使用他們的姓名以及一些其他資訊,例如所在區域(如果他們住在不同的區域),母親或父親的姓名等。

在你的 C++ 應用中可能會出現同樣的情況。例如,你可能編寫了一些程式碼,其中有一個名為 xyz() 的函式,而另一個庫也有一個名為 xyz() 的同名函式。現在,編譯器無法知道你在程式碼中引用的是 xyz() 函式的哪個版本。

名稱空間旨在克服此困難,用作附加資訊以區分名稱相同且存在於不同庫中的相似函式、類、變數等。使用名稱空間,你可以定義名稱被定義的上下文。從本質上講,名稱空間定義了作用域。

定義名稱空間

名稱空間定義以關鍵字 namespace 開頭,後跟名稱空間名稱,如下所示 –

namespace namespace_name {
   // code declarations
}

要呼叫啟用了名稱空間的函式或變數版本,請在名稱空間名稱前加上 (::),如下所示 –

name::code; // code could be variable or function.

示例

 即時演示

#include <iostream>
using namespace std;
// first name space
namespace first_space {
   void func() {
      cout << "Inside first_space" << endl;
   }
}
// second name space
namespace second_space {
   void func() {
      cout << "Inside second_space" << endl;
   }
}
int main () {
   // Calls function from first name space.
   first_space::func();
   // Calls function from second name space.
   second_space::func();
   return 0;
}

輸出

Inside first_space
Inside second_space

更新時間: 30-Jul-2019

231 次瀏覽

開始你的 職業生涯

完成課程獲取認證

開始
廣告
© . All rights reserved.