0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文了解C++的命名空間

如意 ? 來(lái)源:CSDN ? 作者:cherrydreamsover ? 2020-06-29 14:48 ? 次閱讀

一、命名空間

1.引入

C++中,變量、函數(shù)和類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局命名空間中,會(huì)導(dǎo)致很多沖突, 使用命名空間的目的是對(duì)標(biāo)識(shí)符的名稱進(jìn)行本地化,以避免命名沖突或名字污染,Namespace關(guān)鍵字的出現(xiàn)就是針對(duì)這種問(wèn)題的。

2.定義

(1)命名空間的定義

一文了解C++的命名空間

(2)相同的命名空間可以分割在不同的文件中,編譯器最后都會(huì)合成在同一個(gè)命名空間下

一文了解C++的命名空間

(3)命名空間可以嵌套

一文了解C++的命名空間

(4)沒(méi)有名稱的命名空間(該命名空間的內(nèi)容相當(dāng)于全局變量)

一文了解C++的命名空間

說(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)直接使用

一文了解C++的命名空間

(2)命名空間名稱限制

一文了解C++的命名空間

(3)導(dǎo)入命名空間

一文了解C++的命名空間

(4)使用誰(shuí)引入誰(shuí)

一文了解C++的命名空間

聲明:本文內(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)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4277

    瀏覽量

    62325
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2100

    瀏覽量

    73453
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28306
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    深入C++內(nèi)存管理

    說(shuō)到 C++ 的內(nèi)存管理,我們可能會(huì)想到棧空間的本地變量、堆上通過(guò) new 動(dòng)態(tài)分配的變量以及全局命名空間的變量等,這些變量的分配位置都是由系統(tǒng)來(lái)控制管理的,而調(diào)用者只需要考慮變量的生
    發(fā)表于 11-12 09:29 ?601次閱讀

    初識(shí)C++

    后接-個(gè)或多個(gè)字符組成的。后綴告訴系統(tǒng)這個(gè)文件是個(gè)C++程序。不同編譯器使用不同的后綴命名約定,最常見(jiàn)的包括. cc、.cxx、.cpp、.cp及.
    發(fā)表于 07-17 15:14 ?203次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>初識(shí)<b class='flag-5'>C++</b>

    C++零基礎(chǔ)教程之命名空間,輕松上手CC++區(qū)別之命名空間

    編程語(yǔ)言C++語(yǔ)言
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 12:14:37

    C++筆記003:C++個(gè)小程序開(kāi)始

    ;pause");}第行的頭文件我學(xué)過(guò)C語(yǔ)言,還是能夠多少理解些的,第二行的std命名空間就不知所云了,std 是標(biāo)準(zhǔn)
    發(fā)表于 03-05 12:51

    C++筆記008:C++命名空間 namespace的作用和使用解析

    定義了自己的命名空間就可以解決這個(gè)問(wèn)題,即使重名,只要分屬不同的命名空間就不會(huì)引起問(wèn)題。在 C語(yǔ)言中定義了3個(gè)層次的作用域,即文件(編譯單元
    發(fā)表于 08-11 12:30

    Linux的命名空間機(jī)制

    Linux命名空間概述
    發(fā)表于 03-18 14:40

    命名空間的實(shí)現(xiàn)

    。更多信息請(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ī)包與命名空間

    python常規(guī)包與命名空間包1. 常規(guī)包在 Python 3.3 之前或者說(shuō) Python 2 中,個(gè)包想要被導(dǎo)入使用,那么該包內(nèi)必須要有 __init__.py 文件,這個(gè)文件是 Python
    發(fā)表于 03-11 15:46

    C++命名空間的幾大用法

    譯者注:可能很多程序員對(duì)C++已經(jīng)非常熟悉,但是對(duì)命名空間經(jīng)常使用到的地方還不是很明白,這篇文章就針對(duì)命名空間
    發(fā)表于 09-28 18:31 ?0次下載

    C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說(shuō)明

    本文檔的詳細(xì)介紹的是C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:1. 異常處理,2. 命名空間,3. 使用早期的函數(shù)庫(kù)
    發(fā)表于 03-14 16:39 ?4次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)教程之<b class='flag-5'>C++</b>工具的詳細(xì)資料說(shuō)明

    C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解C++的資料免費(fèi)下載

    本文檔的主要內(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次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步<b class='flag-5'>了解</b><b class='flag-5'>C++</b>的資料免費(fèi)下載

    c++知識(shí)要點(diǎn)

    章 開(kāi)始 1.1 編寫個(gè)簡(jiǎn)單的C++程序 int main() { return 0; } 每個(gè)C++程序都包含個(gè)或多個(gè)
    發(fā)表于 06-20 09:45 ?0次下載

    C++項(xiàng)目常見(jiàn)的命名規(guī)范

    本系列是開(kāi)源書C++ Best Practises[1]的中文版,全書從工具、代碼風(fēng)格、安全性、可維護(hù)性、可移植性、多線程、性能、正確性等角度全面介紹了現(xiàn)代C++項(xiàng)目的最佳實(shí)踐。本文是該系列的第二篇。
    的頭像 發(fā)表于 09-27 09:12 ?2044次閱讀

    C++入坑指南

    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次閱讀

    C++簡(jiǎn)史:C++是如何開(kāi)始的

    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次閱讀
    <b class='flag-5'>C++</b>簡(jiǎn)史:<b class='flag-5'>C++</b>是如何開(kāi)始的