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