C++缺省參數(shù)的理解
什么叫缺省參數(shù)?
缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)默認(rèn)值。在調(diào)用該函數(shù)時(shí),如果沒(méi)有指定實(shí)參則采用該默認(rèn)值,否則使用指定的實(shí)參。
注意:要想省略參數(shù),聲明或者定義內(nèi)必須指定默認(rèn)值
void TestFunc(int a = 0) { cout<<a<<endl; } int main() { TestFunc(); // 沒(méi)有傳參時(shí),使用參數(shù)的默認(rèn)值 TestFunc(10); // 傳參時(shí),使用指定的實(shí)參 }
第一次調(diào)用時(shí)沒(méi)有傳參,默認(rèn)使用定義中的參數(shù)值
第二次調(diào)用時(shí)指定實(shí)參,使用了指定的實(shí)參
有沒(méi)有一種備胎的感覺(jué),你給我了我就用你的,你不給我我還有備用的
缺省多個(gè)參數(shù)的情況
1.全缺省
即傳參數(shù)所有參數(shù)都省略(會(huì)默認(rèn)使用定義或聲明的參數(shù))
2.半缺省
比如應(yīng)該傳兩個(gè)參數(shù)但直傳了一個(gè),應(yīng)該傳三個(gè)只傳了兩個(gè),參數(shù)傳的數(shù)量不全
感受一下很容易理解:
注意:
1.缺省參數(shù)不能間隔著給,必須依次給
2.缺省參數(shù)不能在函數(shù)聲明和定義中同時(shí)出現(xiàn)(如果默認(rèn)值不同編譯器會(huì)不確定該使用 哪一個(gè)缺省值)
3.缺省值必須是常量或者全局變量
4.c語(yǔ)言編譯器不支持
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包的完美過(guò)程
UDP 是一種無(wú)連接、輕量級(jí)的傳輸層協(xié)議,與 TCP 相比,它不提供可靠性、流控制和錯(cuò)誤恢復(fù)機(jī)制,但卻更加簡(jiǎn)單且具有較低的開(kāi)銷,這篇文章主要介紹了C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包,需要的朋友可以參考下2023-11-11C++的QT項(xiàng)目打包成獨(dú)立可執(zhí)行和發(fā)布的exe文件(項(xiàng)目構(gòu)建過(guò)程)
這篇文章主要介紹了C++的QT項(xiàng)目打包成獨(dú)立可執(zhí)行和發(fā)布的exe文件(項(xiàng)目構(gòu)建過(guò)程),本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11基于C++實(shí)現(xiàn)信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于C++實(shí)現(xiàn)信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03用Visual Studio2017寫(xiě)C++靜態(tài)庫(kù)圖文詳解
這篇文章主要介紹了用Visual Studio2017寫(xiě)C++靜態(tài)庫(kù)的圖文教程,需要的朋友可以參考下2017-04-04C++實(shí)現(xiàn)循環(huán)隊(duì)列
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)循環(huán)隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01