成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

C++從0到1之命名空間

fsmStudy / 3337人閱讀

摘要:從到之命名空間入門命名空間命名空間定義命名空間的使用輸入輸出入門命名空間在中,變量函數(shù)和后面要學(xué)到的類都是大量存在的,這些變量函數(shù)和類的名稱將都存在于全局作用域中,可能會導(dǎo)致很多沖突。

C++入門

1.C++命名空間

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

1.1命名空間定義

定義命名空間,需要使用到namespace關(guān)鍵字,后面跟命名空間的名字,然后接一對{}即可,{}中即為命名 空間的成員。

但是需要注意的是不能進(jìn)行賦值操作,例如我們在int a;之后進(jìn)行對a的賦值a=1;

可以看到進(jìn)行賦值操作會有錯(cuò)誤提示。

但是我們可以int a=1這樣來定義變量

在這里借用一位大佬的發(fā)言來解釋一下:“核心是int a=1;這條語句與int a;a=1這兩條語句并不能等同。前者一條語句其實(shí)是由編譯器來完成的,后者兩條語句的則不行,a=1這個(gè)賦值操作是真正的運(yùn)算,要放在計(jì)算機(jī)內(nèi)存里去"執(zhí)行”。在此基礎(chǔ)上再講一點(diǎn)點(diǎn)就是,代碼的編譯生成程序,這個(gè)過程只涉及代碼區(qū)和全局區(qū),其中代碼區(qū)是只讀的,全局區(qū)只能存放數(shù)據(jù),那個(gè)“執(zhí)行”操作本來就完成不了,屬于無效語句,所以這樣規(guī)定。"

好的接下來我們來看看命名空間的嵌套定義,沒錯(cuò),他是允許嵌套定義的,具體事例如下:

我們在code_li1的命名空間里面又嵌套定義了一個(gè)code_li2的這樣一個(gè)命名空間。需要注意的是:一個(gè)命名空間就定義了一個(gè)新的作用域,命名空間中的所有內(nèi)容都局限于該命名空間中。

1.2命名空間的使用

我們定義了一個(gè)命名空間,那么命名空間里面的成員該怎么使用呢,可以直接用嗎?我們一起來試試看:

可以看到直接提示未定義標(biāo)識符,那該怎么使用呢?這里我們給出三種方式:

  • 加命名空間名稱及作用域限定符

  • 使用using將命名空間成員引入

  • 使用using namespace 命名空間名稱引入

2.C++輸入&&輸出

相信各位小伙伴都見過這個(gè)代碼吧:

沒錯(cuò),就是大多數(shù)人剛接觸C語言的第一個(gè)能跑起來的代碼了,那么我們用C++怎么來輸出這個(gè)語句呢?我們來看看C++是如何來實(shí)現(xiàn)的:

說明:

  1. 使用cout標(biāo)準(zhǔn)輸出(控制臺)和cin標(biāo)準(zhǔn)輸入(鍵盤)時(shí),必須包含< iostream >頭文件以及std標(biāo)準(zhǔn)命名空 間。 注意:早期標(biāo)準(zhǔn)庫將所有功能在全局域中實(shí)現(xiàn),聲明在.h后綴的頭文件中,使用時(shí)只需包含對應(yīng)頭文件 即可,后來將其實(shí)現(xiàn)在std命名空間下,為了和C頭文件區(qū)分,也為了正確使用命名空間,規(guī)定C++頭文 件不帶.h;舊編譯器(vc 6.0)中還支持格式,后續(xù)編譯器已不支持,因此推薦使用 +std的方式。
  2. 使用C++輸入輸出更方便,不需增加數(shù)據(jù)格式控制,比如:整形–%d,字符–%c。

關(guān)于第二點(diǎn),我們在此給出一個(gè)事例:

可能有部分初學(xué)的小伙伴不太清楚endl的作用,endl其實(shí)可以理解為end line即結(jié)束這一行,換個(gè)理解方式實(shí)際上就是換行,和C語言中的/n實(shí)際上是等價(jià)的。

那么今天的分享就到這里啦,點(diǎn)波訂閱+關(guān)注,下次找我不迷路,關(guān)注我,帶你學(xué)習(xí)更多小知識。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/125065.html

相關(guān)文章

  • C++】初窺門徑---入門篇

    摘要:在大型的工程中,自己定義的變量函數(shù),類名與其他人定義的相沖突等問題。使用標(biāo)準(zhǔn)輸出控制臺和標(biāo)準(zhǔn)輸入鍵盤時(shí),必須包含頭文件以及標(biāo)準(zhǔn)命名空間。缺省參數(shù)概念缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)默認(rèn)值。 目錄 前言 1.命名空間 1.1命名空間定義 1.2 命名空間使用 2. C++的輸入和...

    不知名網(wǎng)友 評論0 收藏0
  • C++初階】 關(guān)鍵字,命名空間,缺省參數(shù),IO和函數(shù)重載

    摘要:事實(shí)上語言當(dāng)中有的內(nèi)容,比如函數(shù)循環(huán)結(jié)構(gòu)體宏等等內(nèi)容,也都有,所以大家千萬不要認(rèn)為語言白學(xué)了哈因?yàn)橹耙呀?jīng)完整更新過語言的博客有需要可以往前翻,所以這里直接介紹相對語言當(dāng)中新增的內(nèi)容,而本章引入的內(nèi)容是的關(guān)鍵字命名空間缺省參數(shù)函數(shù)重載。 ...

    winterdawn 評論0 收藏0
  • 關(guān)于c++的namespace,你真的了解嗎?真的會用嗎?

    摘要:據(jù)我了解,很多學(xué)校在學(xué)習(xí)的時(shí)候,老師會讓學(xué)生死記一條語句,那就是那么你真的了解它嗎命名空間是一個(gè)命名空間。如果我們真的想使用的話,的命名空間遍給了我們解決方法使用命名空間。 據(jù)我了解,很多學(xué)校在學(xué)習(xí)c++的時(shí)候,老師會讓學(xué)生死記一條語句,那就是 using?namespace?std; 那么...

    Lionad-Morotar 評論0 收藏0
  • C++01】新手都能看懂的C++入門(上篇),建議收藏

    摘要:上面這三種均不造成重載,現(xiàn)在來說明原因。結(jié)論對于引用返回,返回的對象必須是棧幀銷毀后還存在的。全局,靜態(tài),未銷毀的函數(shù)棧幀當(dāng)中的都是可以的指針與引用如圖兩者底層實(shí)現(xiàn)差不多,引用是用指針模擬的。不建議聲明和定義分離,分離會導(dǎo)致鏈接錯(cuò)誤。 ...

    xcold 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<