国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C++漂流記】函數(shù)的高級(jí)應(yīng)用——函數(shù)默認(rèn)參數(shù)、占位參數(shù)、重載

這篇具有很好參考價(jià)值的文章主要介紹了【C++漂流記】函數(shù)的高級(jí)應(yīng)用——函數(shù)默認(rèn)參數(shù)、占位參數(shù)、重載。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

函數(shù)的高級(jí)應(yīng)用,側(cè)重介紹函數(shù)的默認(rèn)參數(shù)、函數(shù)的占位參數(shù)、函數(shù)重載定義解釋及使用。
【C++漂流記】函數(shù)的高級(jí)應(yīng)用——函數(shù)默認(rèn)參數(shù)、占位參數(shù)、重載,C++漂流記,c++,java,開(kāi)發(fā)語(yǔ)言

一、函數(shù)的默認(rèn)參數(shù)

函數(shù)默認(rèn)參數(shù)是指在函數(shù)聲明時(shí)為參數(shù)提供一個(gè)默認(rèn)值,這樣在調(diào)用函數(shù)時(shí)如果沒(méi)有傳入相應(yīng)的參數(shù),就會(huì)使用默認(rèn)值代替。函數(shù)默認(rèn)參數(shù)可以簡(jiǎn)化函數(shù)的調(diào)用,使得函數(shù)更加靈活。

函數(shù)默認(rèn)參數(shù)的解釋?zhuān)?/strong>

  • 函數(shù)默認(rèn)參數(shù)是在函數(shù)聲明時(shí)為參數(shù)提供一個(gè)默認(rèn)值。
  • 默認(rèn)參數(shù)可以簡(jiǎn)化函數(shù)的調(diào)用,使得函數(shù)更加靈活。
  • 默認(rèn)參數(shù)只能在函數(shù)聲明中提供,不能在函數(shù)定義中提供。
  • 默認(rèn)參數(shù)只能從右向左連續(xù)設(shè)置,即右側(cè)的參數(shù)必須都有默認(rèn)值,左側(cè)的參數(shù)不能有默認(rèn)值。

示例代碼:

#include <iostream>

// 帶有默認(rèn)參數(shù)的函數(shù)
void printMessage(std::string message = "Hello, world!") {
    std::cout << message << std::endl;
}

int main() {
    // 調(diào)用函數(shù)時(shí)不傳入?yún)?shù)
    printMessage(); // 輸出: Hello, world!

    // 調(diào)用函數(shù)時(shí)傳入?yún)?shù)
    printMessage("Hello, C++!"); // 輸出: Hello, C++!

    return 0;
}

在上面的例子中,printMessage函數(shù)的默認(rèn)參數(shù)是"Hello, world!"。當(dāng)調(diào)用函數(shù)時(shí)沒(méi)有傳入?yún)?shù)時(shí),函數(shù)會(huì)使用默認(rèn)參數(shù)"Hello, world!"進(jìn)行處理。當(dāng)傳入?yún)?shù)時(shí),函數(shù)會(huì)使用傳入的參數(shù)進(jìn)行處理。在main函數(shù)中的兩次調(diào)用中,第一次沒(méi)有傳入?yún)?shù),所以使用了默認(rèn)參數(shù),輸出了"Hello, world!";第二次傳入了參數(shù)"Hello, C++!",所以輸出了"Hello, C++!"。


二、函數(shù)的占位參數(shù)

函數(shù)的占位參數(shù)是指在函數(shù)聲明或定義中使用一個(gè)沒(méi)有具體名稱(chēng)的參數(shù),通常用下劃線(xiàn) _ 表示。占位參數(shù)在函數(shù)調(diào)用時(shí)不會(huì)被使用,它的存在只是為了占據(jù)參數(shù)位置,用于保持函數(shù)的參數(shù)個(gè)數(shù)和順序的一致性。

占位參數(shù)的解釋?zhuān)?/strong>

  • 占位參數(shù)在函數(shù)聲明或定義中使用一個(gè)沒(méi)有具體名稱(chēng)的參數(shù)。
  • 占位參數(shù)在函數(shù)調(diào)用時(shí)不會(huì)被使用,它的存在只是為了保持函數(shù)的參數(shù)個(gè)數(shù)和順序的一致性。
  • 占位參數(shù)通常用下劃線(xiàn) _ 表示,但實(shí)際上可以使用任何合法的標(biāo)識(shí)符作為占位符。
  • 占位參數(shù)可以在函數(shù)聲明或定義中的任何位置使用,但通常將其放在參數(shù)列表的末尾。

示例代碼:

#include <iostream>

// 帶有占位參數(shù)的函數(shù)
void printNumbers(int, int, _) {
    std::cout << "Printing numbers..." << std::endl;
}

int main() {
    printNumbers(1, 2, 3); // 調(diào)用函數(shù)時(shí)傳入三個(gè)參數(shù),占位參數(shù)不會(huì)被使用

    return 0;
}

在上面的例子中,printNumbers函數(shù)有三個(gè)參數(shù),其中第三個(gè)參數(shù)是一個(gè)占位參數(shù)。在函數(shù)調(diào)用時(shí),傳入了三個(gè)參數(shù),但是占位參數(shù)并沒(méi)有被使用。占位參數(shù)的存在只是為了保持函數(shù)的參數(shù)個(gè)數(shù)和順序的一致性。

三、函數(shù)重載

函數(shù)重載是指在同一個(gè)作用域內(nèi),可以定義多個(gè)同名但參數(shù)列表不同的函數(shù)。通過(guò)函數(shù)重載,可以根據(jù)不同的參數(shù)類(lèi)型和個(gè)數(shù)來(lái)調(diào)用不同的函數(shù),從而提高代碼的靈活性和可讀性。

函數(shù)重載的解釋?zhuān)?/strong>

  • 函數(shù)重載是指在同一個(gè)作用域內(nèi),可以定義多個(gè)同名但參數(shù)列表不同的函數(shù)。
  • 函數(shù)重載通過(guò)參數(shù)類(lèi)型和個(gè)數(shù)的不同來(lái)區(qū)分不同的函數(shù)。
  • 函數(shù)重載可以提高代碼的靈活性和可讀性,使得函數(shù)調(diào)用更加直觀和自然。
  • 函數(shù)重載只能通過(guò)參數(shù)類(lèi)型和個(gè)數(shù)的不同來(lái)區(qū)分函數(shù),返回值類(lèi)型不同不會(huì)構(gòu)成函數(shù)重載。

示例代碼:

#include <iostream>

// 函數(shù)重載
void printNumber(int num) {
    std::cout << "Printing an integer: " << num << std::endl;
}

void printNumber(double num) {
    std::cout << "Printing a double: " << num << std::endl;
}

int main() {
    int a = 10;
    double b = 3.14;

    printNumber(a); // 調(diào)用第一個(gè)printNumber函數(shù),輸出: Printing an integer: 10
    printNumber(b); // 調(diào)用第二個(gè)printNumber函數(shù),輸出: Printing a double: 3.14

    return 0;
}

在上面的例子中,printNumber函數(shù)被重載了兩次,分別接受整數(shù)參數(shù)和雙精度浮點(diǎn)數(shù)參數(shù)。在main函數(shù)中,根據(jù)傳入的參數(shù)類(lèi)型的不同,會(huì)調(diào)用對(duì)應(yīng)的函數(shù)進(jìn)行處理。傳入整數(shù)時(shí),調(diào)用第一個(gè)printNumber函數(shù),輸出"Printing an integer: 10";傳入雙精度浮點(diǎn)數(shù)時(shí),調(diào)用第二個(gè)printNumber函數(shù),輸出"Printing a double: 3.14"。

函數(shù)重載的注意事項(xiàng)

  1. 函數(shù)重載僅根據(jù)參數(shù)的類(lèi)型和個(gè)數(shù)來(lái)區(qū)分函數(shù),返回值類(lèi)型不會(huì)影響函數(shù)重載。如果兩個(gè)函數(shù)的參數(shù)類(lèi)型和個(gè)數(shù)相同,但返回值類(lèi)型不同,將會(huì)導(dǎo)致編譯錯(cuò)誤。

  2. 函數(shù)重載的參數(shù)列表必須不同,不能只是參數(shù)名稱(chēng)不同。例如,下面的代碼是不合法的:

    void foo(int x);
    void foo(int y); // 不合法,參數(shù)列表相同
    
  3. 函數(shù)重載可以有不同的訪(fǎng)問(wèn)權(quán)限,例如一個(gè)函數(shù)可以是公有的,而另一個(gè)函數(shù)可以是私有的。這樣可以根據(jù)需要對(duì)不同的函數(shù)進(jìn)行封裝和訪(fǎng)問(wèn)控制。

  4. 函數(shù)重載可以在類(lèi)中使用,這被稱(chēng)為成員函數(shù)的重載。成員函數(shù)的重載可以根據(jù)不同的參數(shù)類(lèi)型和個(gè)數(shù)來(lái)區(qū)分不同的成員函數(shù)。

  5. 當(dāng)調(diào)用一個(gè)重載函數(shù)時(shí),編譯器會(huì)根據(jù)實(shí)參的類(lèi)型和個(gè)數(shù)選擇最匹配的函數(shù)進(jìn)行調(diào)用。如果找不到匹配的函數(shù),將會(huì)導(dǎo)致編譯錯(cuò)誤。

  6. 函數(shù)重載可以用于遞歸函數(shù)。遞歸函數(shù)是指函數(shù)調(diào)用自身的函數(shù)。通過(guò)函數(shù)重載,可以定義多個(gè)版本的遞歸函數(shù),每個(gè)版本處理不同的參數(shù)類(lèi)型和個(gè)數(shù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-706355.html

到了這里,關(guān)于【C++漂流記】函數(shù)的高級(jí)應(yīng)用——函數(shù)默認(rèn)參數(shù)、占位參數(shù)、重載的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C++】C++11右值引用|新增默認(rèn)成員函數(shù)|可變參數(shù)模版|lambda表達(dá)式

    【C++】C++11右值引用|新增默認(rèn)成員函數(shù)|可變參數(shù)模版|lambda表達(dá)式

    在C++11之前,我們只有引用的概念,沒(méi)有接觸到所謂的左值引用或者是右值引用這種概念,從C++11開(kāi)始,增加了右值引用的概念,那么現(xiàn)在我們將對(duì)引用進(jìn)行一個(gè)概念上的區(qū)分。在此之前我們所說(shuō)的引用都是左值引用,對(duì)于左值引用相關(guān)的內(nèi)容,可以去看一看博主之前寫(xiě)的文章

    2024年02月15日
    瀏覽(34)
  • TypeScript - 函數(shù) -函數(shù)的默認(rèn)參數(shù)

    默認(rèn)參數(shù)的寫(xiě)法就是,在函數(shù)的形參列表中 用 【=】給形參 賦值即可。 默認(rèn)參數(shù) 必須放在形參列表中的普通參數(shù)的后面 , (這里的普通參數(shù),就是常規(guī)的參數(shù),是傳的) 否則,ts中會(huì)直接提示錯(cuò)誤。

    2024年02月08日
    瀏覽(18)
  • c++——默認(rèn)參數(shù)和占位參數(shù)

    C++允許賦予函數(shù)參數(shù)默認(rèn)值,即在調(diào)用該函數(shù)時(shí),可以不寫(xiě)某些參數(shù)的值,編譯器會(huì)自動(dòng)把默認(rèn)值傳遞給調(diào)用語(yǔ)句中。 1、基本語(yǔ)法 2、默認(rèn)參數(shù)的規(guī)則 ①默認(rèn)值只能在聲明中設(shè)置 ②注意傳參規(guī)則,實(shí)參給形參傳參,是 從前往后 進(jìn)行 ③給函數(shù)參數(shù)設(shè)置默認(rèn)值,從 后往前 進(jìn)

    2024年02月11日
    瀏覽(12)
  • 【ES】筆記-函數(shù)參數(shù)默認(rèn)值

    【ES】筆記-函數(shù)參數(shù)默認(rèn)值

    ES6 允許給函數(shù)參數(shù)賦值初始值 1. 形參初始值 具有默認(rèn)值的參數(shù),一般放到最后 2. 與解構(gòu)賦值結(jié)合 如果對(duì)象屬性host 沒(méi)有傳,就走默認(rèn)值。反之對(duì)象屬性中的值

    2024年02月13日
    瀏覽(14)
  • Python函數(shù)默認(rèn)參數(shù)設(shè)置(超級(jí)詳細(xì))

    ????????我們知道,在調(diào)用函數(shù)時(shí)如果不指定某個(gè)參數(shù),Python?解釋器會(huì)拋出異常。為了解決這個(gè)問(wèn)題,Python 允許為參數(shù)設(shè)置默認(rèn)值,即在定義函數(shù)時(shí),直接給形式參數(shù)指定一個(gè)默認(rèn)值。這樣的話(huà),即便調(diào)用函數(shù)時(shí)沒(méi)有給擁有默認(rèn)值的形參傳遞參數(shù),該參數(shù)可以直接使用定

    2023年04月08日
    瀏覽(26)
  • python-自定義函數(shù)(定義調(diào)用、默認(rèn)參數(shù)、返回值)

    本篇文章講解了python中自定義函數(shù)的一些知識(shí)點(diǎn),包括了函數(shù)的定義和調(diào)用,默認(rèn)參數(shù),函數(shù)返回,其中也添加了比較高級(jí)的用法,能適應(yīng)任何場(chǎng)合 函數(shù)是什么:函數(shù)是一段可執(zhí)行的代碼塊,用于執(zhí)行特定的任務(wù)或完成特定的操作。它由函數(shù)名、參數(shù)(可選)和函數(shù)體組成。

    2024年02月09日
    瀏覽(63)
  • 用冒泡排序談默認(rèn)參數(shù)應(yīng)用

    用冒泡排序談默認(rèn)參數(shù)應(yīng)用

    ?前面在調(diào)用函數(shù)提到為了將信息打印到ofil中,前面提到的辦法是 ofstream ofil(\\\"text_out1\\\"); void bubble_sort(vectorint? vec){ } 在file scope中定義ofil,這是一個(gè)不受歡迎的舉動(dòng)。這樣比較難在其他環(huán)境重用 一般的程序編寫(xiě)法則是,以“ 參數(shù)傳遞” 作為函數(shù)間的溝通方式,比直接將對(duì)象

    2024年01月18日
    瀏覽(13)
  • C++ 默認(rèn)參數(shù)與引用傳遞:語(yǔ)法、用法及示例

    在 C++ 中,函數(shù)參數(shù)可以擁有默認(rèn)值。這意味著,在調(diào)用函數(shù)時(shí),如果省略了某個(gè)參數(shù),那么將使用為該參數(shù)指定的默認(rèn)值。 默認(rèn)參數(shù)值使用等號(hào) = 符號(hào)進(jìn)行設(shè)置,位于參數(shù)聲明的類(lèi)型之后。例如: 在這個(gè)例子中, country 是一個(gè)參數(shù),它的默認(rèn)值為 \\\"Norway\\\" 。這意味著,如果

    2024年04月15日
    瀏覽(18)
  • 再探C++——默認(rèn)成員函數(shù)

    再探C++——默認(rèn)成員函數(shù)

    目錄 一、構(gòu)造函數(shù) 二、析構(gòu)函數(shù) 三、賦值運(yùn)算符 四、拷貝構(gòu)造 如果一個(gè)類(lèi)中沒(méi)有成員,我們稱(chēng)為空類(lèi)??疹?lèi),也存在6個(gè)默認(rèn)的類(lèi)成員函數(shù)。 默認(rèn)成員函數(shù):用戶(hù)不顯示地寫(xiě),編譯器會(huì) 默認(rèn)生成 的函數(shù)叫做默認(rèn)成員函數(shù)。 6個(gè)默認(rèn)成員函數(shù): 構(gòu)造函數(shù):完成對(duì)象初始化?

    2024年02月14日
    瀏覽(20)
  • Python筆記2(函數(shù)參數(shù)、面向?qū)ο?、裝飾器、高級(jí)函數(shù)、捕獲異常、dir)

    Python筆記1(賦值、淺拷貝和深拷貝、字符串日期轉(zhuǎn)換、argparse、sys、overwrite、eval、json.dumps/json.loads、os.system(cmd)、zfill、endswith、open) 參數(shù)定義 在python中定義函數(shù)的時(shí)候,函數(shù)名后面的括號(hào)里就是用來(lái)定義參數(shù)的,如果有多個(gè)參數(shù)的話(huà),那么參數(shù)之間直接用逗號(hào), 隔開(kāi)。 定義

    2024年02月08日
    瀏覽(39)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包