一、命名空間
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í)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
說(shuō)到 C++ 的內(nèi)存管理,我們可能會(huì)想到棧空間的本地變量、堆上通過(guò) new 動(dòng)態(tài)分配的變量以及全局命名空間的變量等,這些變量的分配位置都是由系統(tǒng)來(lái)控制管理的,而調(diào)用者只需要考慮變量的生
發(fā)表于 11-12 09:29
?601次閱讀
后接-一個(gè)或多個(gè)字符組成的。后綴告訴系統(tǒng)這個(gè)文件是一個(gè)C++程序。不同編譯器使用不同的后綴命名約定,最常見(jiàn)的包括. cc、.cxx、.cpp、.cp及.
發(fā)表于 07-17 15:14
?203次閱讀
編程語(yǔ)言C++語(yǔ)言
電子學(xué)習(xí)
發(fā)布于 :2023年01月14日 12:14:37
;pause");}第一行的頭文件我學(xué)過(guò)C語(yǔ)言,還是能夠多少理解一些的,第二行的std命名空間就不知所云了,std 是標(biāo)準(zhǔn)
發(fā)表于 03-05 12:51
定義了自己的命名空間就可以解決這個(gè)問(wèn)題,即使重名,只要分屬不同的命名空間就不會(huì)引起問(wèn)題。在 C語(yǔ)言中定義了3個(gè)層次的作用域,即文件(編譯單元
發(fā)表于 08-11 12:30
Linux命名空間概述
發(fā)表于 03-18 14:40
。更多信息請(qǐng)參見(jiàn)手冊(cè)頁(yè)unshare(2)。在進(jìn)程已經(jīng)使用上述的兩種機(jī)制之一從父進(jìn)程命名空間分離后,從該進(jìn)程的角度來(lái)看,改變?nèi)謱傩圆粫?huì)傳播到父進(jìn)程命名
發(fā)表于 05-24 06:21
python常規(guī)包與命名空間包1. 常規(guī)包在 Python 3.3 之前或者說(shuō) Python 2 中,一個(gè)包想要被導(dǎo)入使用,那么該包內(nèi)必須要有 __init__.py 文件,這個(gè)文件是 Python
發(fā)表于 03-11 15:46
譯者注:可能很多程序員對(duì)C++已經(jīng)非常熟悉,但是對(duì)命名空間經(jīng)常使用到的地方還不是很明白,這篇文章就針對(duì)命名空間這
發(fā)表于 09-28 18:31
?0次下載
本文檔的詳細(xì)介紹的是C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:1. 異常處理,2. 命名空間,3. 使用早期的函數(shù)庫(kù)
發(fā)表于 03-14 16:39
?4次下載
本文檔的主要內(nèi)容詳細(xì)介紹的是C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解C++的資料免費(fèi)下載包括了:1 認(rèn)識(shí)C++,2 C++的現(xiàn)狀和發(fā)展,3
發(fā)表于 06-10 08:00
?25次下載
第一章 開(kāi)始
1.1 編寫一個(gè)簡(jiǎn)單的C++程序
int main()
{
return 0;
}
每個(gè)C++程序都包含一個(gè)或多個(gè)
發(fā)表于 06-20 09:45
?0次下載
本系列是開(kāi)源書C++ Best Practises[1]的中文版,全書從工具、代碼風(fēng)格、安全性、可維護(hù)性、可移植性、多線程、性能、正確性等角度全面介紹了現(xiàn)代C++項(xiàng)目的最佳實(shí)踐。本文是該系列的第二篇。
發(fā)表于 09-27 09:12
?2044次閱讀
C++最主要的用途是開(kāi)發(fā)基礎(chǔ)軟件設(shè)施,和在有限資源的條件上運(yùn)行的應(yīng)用程序。因?yàn)樗?b class='flag-5'>一種獨(dú)特的能力,可以直接操作它所運(yùn)行的硬件或者機(jī)器,即使在硬件空間資源受限的情況下,C++程序依舊可以
發(fā)表于 01-04 15:56
?733次閱讀
MISRA C++:2023,MISRA? C++ 標(biāo)準(zhǔn)的下一個(gè)版本,來(lái)了!為了幫助您做好準(zhǔn)備,我們介紹了 Perforce 首席技術(shù)支持工程師 Frank van den Beuken 博士撰寫
發(fā)表于 01-11 09:00
?513次閱讀
評(píng)論