C 命名空間

2021-08-29 01:10:48 字數 1206 閱讀 9786

引語

在c/c++中,變數、函式和類都是大量存在的,這些變數、函式和類的名稱將都存在與全全域性作用域中,可能會導致命名衝突等一些衝突。使用命名空間的母的是對識別符號的名稱進行本地化,以命名衝突或名字汙染。namespace關鍵字的出現就是解決這種問題的。

1. 命名空間的定義

定義命名空間,需要使用到namespace關鍵字,後面跟命名空間的名字,然後後面跟**一對{}**即可,{}中即為命名空間的成員。

注意:

// 1.普通命名空間

namespace n1 // n1為命名空間的名稱

}// 2.命名空間可以巢狀

namespace n2

namespace n3 }

}// 3.同乙個工程中允許存在多個相同名稱的命名空間

// 編譯器最後會合成同乙個命名空間

namespace n1

}

1.2命名空間的使用

下面看個例子:

#include

namespace n1

}int

main()

我們通過上面的命名空間定義中,最後乙個小注意**「乙個命名空間就定義了乙個作用域,命名空間中所有的內容都侷限於該命名空間」**,那我們要如何去使用它呢?

命名空間使用的三種格式:

加命名空間名稱及作用域限定符

int

main()

使用using將命名空間中成員引入

using n1::f;

intmain()

使用using namespace 命名空間名稱引入(將整個命名空間引入工程中)

using

namespace n1;

intmain()

1.3 c++的輸入 & 輸出
#include

using

namespace std;

intmain()

注意:

spring p命名空間 c命名空間

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

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

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

C 命名空間,也有叫命名空間

在c 中,名稱 name 可以是符號常量 變數 巨集 函式 結構 列舉 類和物件等等。為了避免在大規模程式設計中,以及在程式設計師使用各種各樣的c 庫時,這些識別符號的命名發生衝突,標準c 引入了關鍵字namespace 命名空間 名字空間 命名空間 名域 可以更好地控制識別符號的作用域。std是c...