一、命名空間
1.引入
在C++中,變量、函數和類都是大量存在的,這些變量、函數和類的名稱將都存在于全局命名空間中,會導致很多沖突, 使用命名空間的目的是對標識符的名稱進行本地化,以避免命名沖突或名字污染,Namespace關鍵字的出現就是針對這種問題的。
2.定義
(1)命名空間的定義
(2)相同的命名空間可以分割在不同的文件中,編譯器最后都會合成在同一個命名空間下
(3)命名空間可以嵌套
(4)沒有名稱的命名空間(該命名空間的內容相當于全局變量)
說明:
(1)從本質上講,一個命名空間就定義了一個范圍,在命名空間中定義的任何東西都局限于該命名空間中。
(2)沒有名稱的命名空間可以只創建在聲明它的文件才可見的標識符。(只有在聲明這個命名空間的文件中,它的成員才是可見的,它的成員可以被直接訪問,不需要命名空間名稱來修飾。對于其它文件,該命名空間是不可見的)。
(3)把全局名稱的作用域限制在聲明他的文件中的一種方式就是把它的聲明為靜態的,盡管C++支持全局靜態,但最好的方式還是使用未命名的空間。
3.使用方式
(1)命名空間內直接使用
(2)命名空間名稱限制
(3)導入命名空間
(4)使用誰引入誰
-
函數
+關注
關注
3文章
4346瀏覽量
62971 -
C++
+關注
關注
22文章
2114瀏覽量
73857 -
變量
+關注
關注
0文章
613瀏覽量
28466
發布評論請先 登錄
相關推薦
評論