C 學習筆記1 namespace是什麼東西?

2021-07-22 18:37:30 字數 868 閱讀 1450

寫在前面:其實一開始不太懂什麼是namespace,剛開始學習的時候,照著敲using namespace std;老師也沒告訴是什麼意思,自己也沒有仔細看。到現在都還是很清楚。今天就查點資料,盡量弄清楚吧。

namespace就是命名空間,為了防止程式設計師對不同的庫使用了相同的名字,出現名字衝突,就有了namespace。

命名空間可以幫助我們避免不經意的名字定義衝突,以及使用庫中相同名字導致的衝突。

到底是怎麼樣子避免了衝突呢?看到乙個大神的部落格覺得裡面解釋的都很好,特此記錄。

1、使用namespace可以有效的避免重定義的問題

#include

using namespace std;

namespace first

namespace second

int main ()

結果是5

3.1416

兩個全域性變數都是名字都是var,但是他們不在同乙個namespace中所以沒有衝突。

標準庫定義的所有名字都在命名空間std裡。

using namespace std;

使用using宣告來使用命名空間中的成員。

自己定義乙個namespace,現在學習的tuio就是定義了乙個tuio命名空間。

namespace tuio

使用命名空間tuio中的名字 (下面的說法可能不準確,自己理解的)

1、全域性使用:像最初學習的**一樣,將using namespace tuio;寫在標頭檔案後。這樣整個程式都能使用到tuio命名空間裡的名字。

2、要用的時候再引用:比如要使用std裡面的cin,在程式開頭沒有寫using namespace std;在要使用cin的時候,就可以這樣

std::cin>>v1;

c 學習筆記 namespace

c 為什麼要引入命名空間?假設有兩個班級,a班有位同學張三,b班也有位同學叫張三,因為某種原因,兩個班級需要合併,班級合併後就有兩個名叫張三的同學,老師需要點名同學回答問題時,那到底該誰起立回答呢?這就產生衝突了,通常的辦法可能是把年齡大的叫大張三,年齡小的叫小張三,這樣就能夠解決這個衝突了 而程式...

C 命名空間(namespace)學習

1 什麼叫 namespace?namespace 命名空間 是 c 提供的一種類的組織方式,將不同功能的類進行組織,管理。net framework 使用命名空間來組織它的眾多類 在較大的程式設計專案中,宣告自己的命名空間可以幫助控制類名稱和方法名稱的範圍。2 如何定義 namespace?nam...

C 學習之namespace的用法

fish.h ifndef test header fish define test header fish include namespace ns fish endif defined test header fish fish.cpp include include fish.h using ...