柚子快報邀請碼778899分享:C++入門基礎(chǔ)
柚子快報邀請碼778899分享:C++入門基礎(chǔ)
1.命名空間
1.1namespace的價值
在C/C++中,變量、函數(shù)和后?要學(xué)到的類都是?量存在的,這些變量、函數(shù)和類的名稱將都存在于全
局作?域中,可能會導(dǎo)致很多沖突。使?命名空間的?的是對標(biāo)識符的名稱進?本地化,以避免命名
沖突或名字污染,namespace關(guān)鍵字的出現(xiàn)就是針對這種問題的。
c語?項?類似下?程序這樣的命名沖突是普遍存在的問題,C++引?namespace就是為了更好的解決 這樣的問題。
此種情況,會報錯,?error C2365: “rand”: 重定義;以前的定義是“函數(shù)”
1.2namespace的使用
?
定義命名空間,需要使?到namespace關(guān)鍵字,后?跟命名空間的名字,然后接?對{}即可,{}中即為命名空間的成員。命名空間中可以定義變量/函數(shù)/類型等。
?
namespace本質(zhì)是定義出?個域,這個域跟全局域各?獨?,不同的域可以定義同名變量,所以下?的rand不在沖突了。
看到圖中C::rand,你此時一定很好奇,這是什么,往下看,你便知道了。
1.3?命名空間使?
編譯查找?個變量的聲明/定義時,默認(rèn)只會在局部或者全局查找,不會到命名空間??去查找。所以下?程序會編譯報錯。所以我們要使?命名空間中定義的變量/函數(shù),有三種?式:
1.指定命名空間訪問
2.using將命名空間中某個成員展開
3.展開命名空間中全部成員(這個一般不太建議)
2.C++的輸入&輸出
1.
2.cout/cin/endl等都屬于C++標(biāo)準(zhǔn)庫,C++標(biāo)準(zhǔn)庫都放在?個叫std(standard)的命名空間中,所以要 通過命名空間的使??式去?他們。
3.使?C++輸?輸出更?便,不需要像printf/scanf輸?輸出時那樣,需要?動指定格式,C++的輸?輸出可以?動識別變量類型,其實最重要的是C++的流能更好的?持?定義類型對象的輸?輸出.
?
3.缺省參數(shù)
1.缺省參數(shù)是聲明或定義函數(shù)時為函數(shù)的參數(shù)指定?個缺省值。在調(diào)?該函數(shù)時,如果沒有指定實參則采?該形參的缺省值,否則使?指定的實參,缺省參數(shù)分為全缺省和半缺省參數(shù)。
2.
全缺省就是
全部形參給缺省值
,半缺省就是
部分形參給缺省值
。C++規(guī)定半缺省參數(shù)必須
從右往左依次連續(xù)缺省
,不能間隔跳躍給缺省值。
3.帶缺省參數(shù)的函數(shù)調(diào)?,C++規(guī)定必須從左到右依次給實參,不能跳躍給實參。
4.函數(shù)聲明和定義分離時,缺省參數(shù)不能在函數(shù)聲明和定義中同時出現(xiàn),規(guī)定必須函數(shù)聲明給缺省 值。
?
?
4.函數(shù)重載
C++?持在同?作?域中出現(xiàn)
同名函數(shù)
,但是要求這些同名函數(shù)的
形參不同
,可以是
參數(shù)個數(shù)
不同或者
類型不同
又或是
參數(shù)順序不同
。這樣C++函數(shù)調(diào)?就表現(xiàn)出了多態(tài)?為,使?更靈活。C語?是不?持同?作?域中出現(xiàn)同 名函數(shù)的。
?。?!注意:
返回值不同不能作為重載條件,因為調(diào)?時也?法區(qū)分
嘟嘟嘟,今天分享完畢,后續(xù)C++持續(xù)更新?。?!
柚子快報邀請碼778899分享:C++入門基礎(chǔ)
推薦文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。