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


C++筆記008:C++命名空間 namespace的作用和使用解析
命名空間的實現
python常規包與命名空間包
C++程序設計教程之C++工具的詳細資料說明

C++程序設計的基礎知識初步了解C++的資料免費下載

C++項目常見的命名規范
C++入坑指南
C++簡史:C++是如何開始的

評論