命名空間 namespace

2022-06-26 06:39:13 字數 1337 閱讀 3275

​ 命名空間是一塊程式設計師可以自己命名的記憶體區域,用於解決同名衝突的問題。

​ 舉例來說,某班及內有三個張三,分別坐在班級的第一排、第三排和最後一排。當老師喊張三時,三個張三都站起來應答,這就是同名衝突。如果老師說」第一排的張三「或者」第三排的張三「,就會有且僅有乙個張三站起來應答,這裡的」第一排「或者」第三排「就是所謂的命名空間

​ c++中命名空間的作用類似於作業系統中的目錄和檔案的關係:由於檔案很多,不便管理,而且容易重名,於是人們設立若干子目錄,把檔案分別放到不同的子目錄中,同名的檔案放入不同的子目錄中就不會產生衝突。

​ 使用舉例如下:

#includenamespace us1

namespace us2

using namespace us1;

int main()

​ 輸出如下:

us1::a = 5

us2::a = 2

5

​ 上述**中定義了兩個命名空間,其中都含有變數a,當在main函式中使用變數a時,要指明使用的是哪個命名空間內的變數a,就如使用某一檔案需要其檔案路徑一樣,us1::aus2::a起的就是這樣的作用。

​ 另外,由於語句using namespace us1;的作用,使us1成為本程式的預設命名空間,故程式中的a預設為us1::a

​ 為了解決 c++ 標準庫中的識別符號與程式中的全域性識別符號之間以及不同庫中的識別符號之間的同名衝突,應該將不同庫的識別符號在不同的命名空間中定義(或宣告)。標準c++庫的所有的識別符號都是在乙個名為std的命名空間中定義的,或者說標準標頭檔案(如iostream)中函式、類、物件和類模板是在命名空間std中定義的。stdstandard(標準)的縮寫,表示這是存放標準庫的有關內容的命名空間。這樣,在程式中用到c++標準庫時,需要使用std作為限定。

​ 所以每次寫c++**我們都會先寫:

#includeusing namespace std;
​ 而在上面的**中,沒有using namespace std;這一句話,所以使用輸出時需要std::cout

Namespace 命名空間

namespace 命名空間。命名空間是用來解決不同的類和函式擁有相同的名稱的問題。解決了命名衝突的問題。namespace gxg namespace gaoxiaoguang 使用方法 gxg a gxga gaoxiaoguang a gaoxiaoguanga gxg bfunction g...

命名空間namespace

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

namespace 命名空間

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