C 的名字空間

2021-10-03 06:35:34 字數 1104 閱讀 1894

1、名字空間的作用

1)避免名字衝突

2)劃分邏輯單元

2、定義名字空間

namespace 名字空間

struct student{};

namespace ns2{};

}3、名字空間成員的使用

1)通過作用域限定操作「::」

空間成員::要訪問的成員

eg:

int main(void)
02namespace.cpp

#include namespace ns1

}int main(void)

2)名字空間指令

using namespace 名字空間名;

在該條指令以後的**中,指定名字空間中的成員都可見,可以直接訪問,省略"空間名::"

eg:

int main(void)
注:這種方法要謹慎使用,小心不同名字空間中有相同的成員名,容易引發歧義。

常用場景:using namespace std;

以後在使用標準名字空間按裡面的成員省略"std::"

#include using namespace std;//標準名字空間指令

int main(void)

4、無名名字空間

不屬於任何名字空間的識別符號,將被編譯器之後放入無名名字空間中,無名名字空間裡面的成員正常可以直接訪問,但是當無名名字空間的成員和區域性的識別符號名字一樣時區域性優先,這時如果還希望訪問無名名字空間的成員,可以使用作用域限制操作。

符:"::要訪問的成員"

綜合例子:

#include using namespace std;

namespace ns1

}namespace ns2

}//普通全域性變數,將被放入無名的名字空間中

int num = 300;

void main(void) }}

int main(void)

C 的名字空間

名字空間主要用於解決名字衝突的問題,應用程式可能會呼叫多個庫程式,不同的庫程式可能會存在相同 的全域性變數名,全域性函式名,類名等。庫程式的作者為了避免其他程式中名字或者使用者自己定義的名字衝突,將庫程式中的所有名字放在乙個特定的名字空間下。這樣乙個識別符號可以在不同的名字空間使用,提高標識 符的利...

C 名字空間

namespace 名字空間名 注 名字空間成員可以是全域性變數 全域性函式 型別 名字空間 作用域限定操作符 名字空間名 要訪問的成員 include namespace nm1 namespace nm2 intmain 當名字沒有重複的時候,我們可以簡化 方法一 名字空間指令 格式 using...

c 名字空間指令與名字空間宣告

在使用任何名字空間之前,編譯器必須能夠找到他,即確定他的宣告所在的作用域。使用某個名字空間中的名字最簡單的方式就是使用限定名字,即把名字空間的名字 如ns1 作為字首,然後加上作用域操作符 然而又是可能不願使用名字空間以追求 簡潔。可以通過下面實現 1.使用using指令 如 using names...