Namespace 命名空間

2021-04-26 04:37:59 字數 917 閱讀 1872

namespace:

命名空間。

命名空間是用來解決不同的類和函式擁有相同的名稱的問題。解決了命名衝突的問題。

namespace gxg

namespace gaoxiaoguang

使用方法:

gxg::a gxga;

gaoxiaoguang::a gaoxiaoguanga;

gxg::bfunction();

gaoxiaoguang::bfunction();

我們寫程式時使用標準的程式庫經常會這樣寫:

#include

std::cout << 「hello world!」 << std::endl; 或者

#include

using namespace std;

cout << 「hello world!」 << endl;

這兩句話的差異在於乙個使用了

using namespace std

。」using directive

會使namespace

內的所有名字**。

using directive

等於將這些名字宣告於

namespace

之外。這麼一來,名稱衝突問題就可能死灰復燃。

」——《

c++標準程式庫》。也就是說,在兩個命名空間都需要用到的時候,而且有重合的時候不能同時使用

using namespace gxg

和using namespace gaoxiaoguang

照樣會出現編譯不通過的問題。

所以說,在使用命名空間的時候盡量不要用相同的名字,即使有相同的名字,最好不要設計到經常同時使用的地方。這個原則是為了避免不必要的衝突。或者是說在用每個函式和類的時候,不要嫌麻煩,全部寫上其命名空間,保證不會出現命名衝突問題。

命名空間namespace

對using namespace std 的解釋 所謂namespace,是指識別符號的各種可見範圍。c 標準程式庫中的所有識別符號都被定義於乙個名為std的namespace中。由於namespace的概念,使用c 標準程式庫的任何識別符號時,可以有三種選擇 1 直接指定識別符號。例如std os...

namespace 命名空間

在討論如何使用命名空間之前,必須了解 php 是如何知道要使用哪乙個命名空間中的元素的。可以將 php 命名空間與檔案系統作乙個簡單的模擬。在檔案系統中訪問乙個檔案有三種方式 相對檔名形式如foo.txt。它會被解析為 currentdirectory foo.txt,其中 currentdirec...

命名空間namespace

關鍵字 namespace 就是劃片取名字的意思 為了區分不同程式庫裡面的變數。程式設計實現命名空間的使用 include include using namespace std namespace a 定義命名空間a namespace b 定義命名空間b void fun2 using name...