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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP