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