C 高階程式設計(四)命名空間

2021-08-11 06:50:44 字數 1709 閱讀 1234

命名空間:簡單來說就是將函式、物件、類打包在乙個固定的空間(固定域),用來區分同名函式、物件或類,使用時只需在函式、物件或類前加上作用域來確定是使用哪個域(空間)。

c++標準庫使用的命名空間是std。

namespace name

命名空間名::[命名空間名::……]成員名;

1.引入命名空間中

所用的成員:using namespace 命名空間名[::命名空間名…];

2.引入命名空間中的

單一成員:using 命名空間名::[命名空間名::……]成員名;

tips: 1.在全域性作用域也叫預設命名空間,在全域性作用域定義的自定義識別符號都屬於預設命名空間

2.命名空間可以巢狀定義

非巢狀示例:

#includeusing namespace std;

namespace myspace1

int a = 5;

}namespace myspace2

int a = 5;

}int main()

巢狀示例:

#includeusing namespace std;

namespace myspace1

int a = 5;

namespace myspace2

int a = 5; }}

int main()

可以使用 using namespace 指令,這樣在使用命名空間時就可以不用在前面加上命名空間的名稱。這個指令會告訴編譯器,後續的**將使用指定的命名空間中的名稱。

若是巢狀的,兩個空間內最好不要有同名函式,變數等,否則使用using namespace後再呼叫,會出現函式、變數等指向不明確。

#includeusing namespace std;

namespace myspace1

int a = 5;

namespace myspace2

int a = 5; }}

//using namespace myspace1;

using namespace myspace1::myspace2;

int main()

using 指令也可以用來指定命名空間中的特定專案。

using

指令引入的名稱遵循正常的範圍規則。名稱從使用 

using

指令開始是可見的,直到該範圍結束。

命名空間可以定義在

幾個不同的部分中,因此命名空間是由

幾個單獨定義的部分組成

的。乙個命名空間的各個組成部分可以分散在多個檔案中。

所以,如果命名空間中的某個組成部分需要請求定義在另乙個檔案中的名稱,則仍然需要宣告該名稱。

示例:

#includeusing namespace std;

//拆成兩部分

namespace myspace1

int a = 5; }

namespace myspace1

int a1 = 6;

}using namespace myspace1;

int main()

參考:

spring p命名空間 c命名空間

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

C 高階程式設計第七天 命名空間

命名空間 命名空間的設計目的是為了提供一種讓一組名稱與其他名稱分隔開的方式。在乙個命名空間中宣告的類的名稱與另乙個命名空間中宣告的相同的類的名稱不衝突。關鍵字 namespace namespace namespace name 而建立別名的另乙個重要的原因在於同一cs 檔案中引入的不同命名空間中包...

C 命名空間 預設命名空間與匿名命名空間

2.匿名命名空間 預設命名空間也叫全域性命名空間,所有沒有置於某一具體命名空間下的 即在預設命名空間下,例如func main 函式。include void func void intmain int argc,char ar void func void 需要注意的是 這個就是類似於c語言裡簡單...