亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類(lèi) & 對(duì)象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊(cè)

C++ 默認(rèn)參數(shù) (實(shí)參)

在本文中,您將學(xué)習(xí)什么是默認(rèn)參數(shù),如何使用它們以及使用它的必要聲明。

在C ++編程中,您可以提供函數(shù)參數(shù)的默認(rèn)值。

默認(rèn)參數(shù)背后的想法很簡(jiǎn)單。如果通過(guò)傳遞參數(shù)調(diào)用函數(shù),則這些參數(shù)將由函數(shù)使用。

但是,如果在調(diào)用函數(shù)時(shí)未傳遞參數(shù),則使用默認(rèn)值。

默認(rèn)值傳遞給函數(shù)原型中的參數(shù)。

默認(rèn)參數(shù)的工作

C ++中的默認(rèn)參數(shù)

示例:默認(rèn)參數(shù)

// c++程序演示默認(rèn)參數(shù)的工作方式

#include <iostream>
using namespace std;

void display(char = '*', int = 1);

int main()
{
    cout << "沒(méi)有參數(shù)傳遞:\n";
    display();
    
    cout << "\n第一個(gè)參數(shù)被傳遞:\n";
    display('#');
    
    cout << "\n兩個(gè)參數(shù)被傳遞:\n";
    display('$', 5);

    return 0;
}

void display(char c, int n)
{
    for(int i = 1; i <= n; ++i)
    {
        cout << c;
    }
    cout << endl;
}

輸出結(jié)果

沒(méi)有參數(shù)傳遞:
*

第一個(gè)參數(shù)被傳遞:
#

兩個(gè)參數(shù)被傳遞:
$$$$$

在上面的程序中,您可以看到分配默認(rèn)值給參數(shù) void display(char ='*',int = 1);。

首先,在display()不傳遞任何參數(shù)的情況下調(diào)用函數(shù)。在這種情況下,display()函數(shù)同時(shí)使用了默認(rèn)參數(shù)c = *和n = 1。

然后,第二次使用該函數(shù)只傳遞第一個(gè)參數(shù)。在這種情況下,函數(shù)不使用傳遞的第一個(gè)默認(rèn)值。它使用作為第一個(gè)參數(shù)傳遞的實(shí)際參數(shù)c = #,并將默認(rèn)值n = 1作為第二個(gè)參數(shù)。

當(dāng)?shù)谌蝑isplay()被調(diào)用時(shí)傳遞兩個(gè)參數(shù),都不使用默認(rèn)參數(shù)。傳遞的值分別為 c = $和n = 5.

使用默認(rèn)參數(shù)時(shí)的常見(jiàn)錯(cuò)誤

  1. void add(int a, int b = 3, int c, int d = 4);
    上面的函數(shù)將無(wú)法編譯。您不能跳過(guò)兩個(gè)參數(shù)之間的默認(rèn)參數(shù)。
    在這種情況下,c還應(yīng)分配一個(gè)默認(rèn)值。
     

  2. void add(int a, int b = 3, int c, int d);
    上面的函數(shù)也不會(huì)編譯。您必須在b之后為每個(gè)參數(shù)提供默認(rèn)值。
    在這種情況下,c和d也應(yīng)該被分配缺省值。
    如果只需要一個(gè)默認(rèn)參數(shù),請(qǐng)確保該參數(shù)是最后一個(gè)參數(shù)。如:void add(int a, int b, int c, int d = 4);
     

  3. 如果您的函數(shù)執(zhí)行了多項(xiàng)操作,或者邏輯看起來(lái)過(guò)于復(fù)雜,則可以使用  函數(shù)重載更好地分離邏輯。

  4. 無(wú)論如何使用默認(rèn)參數(shù),都應(yīng)該始終編寫(xiě)一個(gè)函數(shù),使它只用于一個(gè)目的。