一、命名空間
1.引入
在C++中,變量、函數(shù)和類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局命名空間中,會(huì)導(dǎo)致很多沖突, 使用命名空間的目的是對(duì)標(biāo)識(shí)符的名稱進(jìn)行本地化,以避免命名沖突或名字污染,Namespace關(guān)鍵字的出現(xiàn)就是針對(duì)這種問(wèn)題的。
2.定義
(1)命名空間的定義
(2)相同的命名空間可以分割在不同的文件中,編譯器最后都會(huì)合成在同一個(gè)命名空間下
(3)命名空間可以嵌套
(4)沒(méi)有名稱的命名空間(該命名空間的內(nèi)容相當(dāng)于全局變量)
說(shuō)明:
(1)從本質(zhì)上講,一個(gè)命名空間就定義了一個(gè)范圍,在命名空間中定義的任何東西都局限于該命名空間中。
(2)沒(méi)有名稱的命名空間可以只創(chuàng)建在聲明它的文件才可見(jiàn)的標(biāo)識(shí)符。(只有在聲明這個(gè)命名空間的文件中,它的成員才是可見(jiàn)的,它的成員可以被直接訪問(wèn),不需要命名空間名稱來(lái)修飾。對(duì)于其它文件,該命名空間是不可見(jiàn)的)。
(3)把全局名稱的作用域限制在聲明他的文件中的一種方式就是把它的聲明為靜態(tài)的,盡管C++支持全局靜態(tài),但最好的方式還是使用未命名的空間。
3.使用方式
(1)命名空間內(nèi)直接使用
(2)命名空間名稱限制
(3)導(dǎo)入命名空間
(4)使用誰(shuí)引入誰(shuí)
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62992 -
C++
+關(guān)注
關(guān)注
22文章
2114瀏覽量
73873 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28470
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
深入C++內(nèi)存管理
一文初識(shí)C++
![<b class='flag-5'>一</b><b class='flag-5'>文</b>初識(shí)<b class='flag-5'>C++</b>](https://file1.elecfans.com/web2/M00/8C/EA/wKgZomS06X6AeGToAABohT57nBY439.jpg)
![](https://file1.elecfans.com/web2/M00/87/B0/wKgZomRmlIqAW1vjAAD0WUplxX8095.png)
C++零基礎(chǔ)教程之命名空間,輕松上手C與C++區(qū)別之命名空間
C++筆記003:C++從一個(gè)小程序開(kāi)始
C++筆記008:C++命名空間 namespace的作用和使用解析
命名空間的實(shí)現(xiàn)
python常規(guī)包與命名空間包
C++中命名空間的幾大用法
C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說(shuō)明
![<b class='flag-5'>C++</b>程序設(shè)計(jì)教程之<b class='flag-5'>C++</b>工具的詳細(xì)資料說(shuō)明](https://file.elecfans.com/web1/M00/89/3A/o4YBAFyKGU2ARmALAAKVagtx2S8669.png)
C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解C++的資料免費(fèi)下載
![<b class='flag-5'>C++</b>程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步<b class='flag-5'>了解</b><b class='flag-5'>C++</b>的資料免費(fèi)下載](https://file.elecfans.com/web1/M00/95/47/o4YBAFz-DYOAIEloAACt1tceweA466.png)
c++知識(shí)要點(diǎn)
C++項(xiàng)目常見(jiàn)的命名規(guī)范
C++入坑指南
C++簡(jiǎn)史:C++是如何開(kāi)始的
![<b class='flag-5'>C++</b>簡(jiǎn)史:<b class='flag-5'>C++</b>是如何開(kāi)始的](https://file1.elecfans.com/web2/M00/A9/66/wKgZomUl7m-AHJX6AABuJjgxs14678.png)
評(píng)論