C 入門十六 命名空間

2021-10-07 15:04:37 字數 1062 閱讀 1149

命名空間namespace:(也可以成為命名空間,名字空間)

當開發大型軟體時由多名程式設計師共同開發,會使用大量的變數和函式,不可避免的會出現變數或者命名衝突,為了解決合作開發時的命名衝突問題

例子:小紅和小明都參與了乙個檔案管理系統的開發,它們都定義了乙個全域性變數fp,用來指明當前開啟的檔案,將它們的**整合在一起編譯時,很明顯編譯器會提示fp重複定義錯誤,這時候就需要命名空間了

namespace ming

namespace hong

小明和小紅各自定義了以自己姓氏為名的命名空間,此時就不會出現問題

namespace name
name是命名空間的名字,她裡面可以包含變數,函式,雷,等,最後由{} 包圍

使用變數、函式時要指明它們所在的命名空間,例:

using ming::fp;

fp=fopen("one.txt,"r"); //使用小明定義的變數fp

hong::fp=fopen("two.txt,"rb+");//使用小紅定義的變數fp

在**的開頭用using宣告ming::fp,它的意思是,using宣告以後的程式中如果出現了未指明命名空間的fp,就使用ming::fp;但是若要使用小紅定義的fp,仍需要hong::fp

using 宣告不僅可以針對命名空間中的乙個變數,也可以用於宣告整個命名空間,例如:

using namespace ming;

fp=fopen("one.txt,"r"); //使用小明定義的變數fp

hong::fp=fopen("two.txt,"rb+");//使用小紅定義的變數fp

如果命名空間ming中還定義了其他的變數,那麼同樣具有fp變數的效果,在using宣告後,如果有未具體指定命名空間的變數產生了命名衝突,那麼預設採用命名空間ming中的變數。

命名空間內部不僅可以宣告或定義變數,對於其他能在命名空間以外宣告或定義的名稱,同樣也都能在命名空間內部進行宣告或定義。

C 入門(3) 命名空間

命名空間是.net程式設計中的一種獨特技術,一般認為,命名空間是一種 容器,當我們把 放進命名空間中後,我們就可以根據命名空間的名字唯一確定的找到所需要的 需要說明的一點,命名空間是可以巢狀的,例如以下 是正確的 namespace level1 命名空間就像是乙個個不同大小的盒子,裡面儲存了我們需...

C 學習筆記 三十六 命名空間

在 c 應用程式中。例如,您可能會寫乙個名為 xyz 的函式,在另乙個可用的庫中也存在乙個相同的函式 xyz 這樣,編譯器就無法判斷您所使用的是哪乙個 xyz 函式。因此,引入了命名空間這個概念,專門用於解決上面的問題,它可作為附加資訊來區分不同庫中相同名稱的函式 類 變數等。使用了命名空間即定義了...

spring p命名空間 c命名空間

p命名空間 1.需要引入命名空間p 並不真實存在 是在spring內部中實現的 xmlns p 2.如果是引用注入需要加 ref字尾 p和c命名空間 並不適用於集合引數 c命名空間 1.需要引入命名空間c 並不真實存在 是在spring內部中實現的 xmlns c 2.可以使用c 引數名 或c 引數...