一、命名空間
1.引入
在C++中,變量、函數(shù)和類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局命名空間中,會(huì)導(dǎo)致很多沖突, 使用命名空間的目的是對(duì)標(biāo)識(shí)符的名稱進(jìn)行本地化,以避免命名沖突或名字污染,Namespace關(guān)鍵字的出現(xiàn)就是針對(duì)這種問題的。
2.定義
(1)命名空間的定義

(2)相同的命名空間可以分割在不同的文件中,編譯器最后都會(huì)合成在同一個(gè)命名空間下

(3)命名空間可以嵌套

(4)沒有名稱的命名空間(該命名空間的內(nèi)容相當(dāng)于全局變量)

說明:
(1)從本質(zhì)上講,一個(gè)命名空間就定義了一個(gè)范圍,在命名空間中定義的任何東西都局限于該命名空間中。
(2)沒有名稱的命名空間可以只創(chuàng)建在聲明它的文件才可見的標(biāo)識(shí)符。(只有在聲明這個(gè)命名空間的文件中,它的成員才是可見的,它的成員可以被直接訪問,不需要命名空間名稱來修飾。對(duì)于其它文件,該命名空間是不可見的)。
(3)把全局名稱的作用域限制在聲明他的文件中的一種方式就是把它的聲明為靜態(tài)的,盡管C++支持全局靜態(tài),但最好的方式還是使用未命名的空間。
3.使用方式
(1)命名空間內(nèi)直接使用

(2)命名空間名稱限制

(3)導(dǎo)入命名空間

(4)使用誰引入誰

-
函數(shù)
+關(guān)注
關(guān)注
3文章
4408瀏覽量
66954 -
C++
+關(guān)注
關(guān)注
22文章
2122瀏覽量
76749 -
變量
+關(guān)注
關(guān)注
0文章
615瀏覽量
29390
發(fā)布評(píng)論請(qǐng)先 登錄
深入C++內(nèi)存管理
一文初識(shí)C++
C++筆記003:C++從一個(gè)小程序開始
C++筆記008:C++命名空間 namespace的作用和使用解析
命名空間的實(shí)現(xiàn)
python常規(guī)包與命名空間包
C++中命名空間的幾大用法
C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說明
C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解C++的資料免費(fèi)下載
c++知識(shí)要點(diǎn)
C++項(xiàng)目常見的命名規(guī)范
C++入坑指南
C++簡(jiǎn)史:C++是如何開始的

一文了解C++的命名空間
評(píng)論