C++中帶默認參數的函數定義及使用總結

對於帶參數列表的函數,必須從右向左添加默認值
  對於帶參數列表的函數,必須從右向左添加默認值,也就是說,要爲某個參數設置默認值,則必須爲它右邊的所有參數提供默認值。範例:

int    fun1(int n, int m = 4, int j = 5);                    //正確
int    fun2(int n, int m = 6, int j);                        //錯誤
int    fun3(int n = 1, int m = 6, int j = 3);                //正確

默認參數不能在聲明和定義中同時出現
錯誤使用範例:
聲明:

void fun4(int n = 10);

定義:

void fun4(int n = 10)
{
    ...;
}

正確使用範例:
聲明:

void fun4(int n = 10);

定義:

void fun4(int n)
{
    ...;
}

或者
聲明:

void fun4(int n);

定義:

void fun4(int n = 10)
{
    ...;
}

帶默認參數的函數的聲明、定義及使用
函數可以先聲明後定義再使用;也可以不聲明只定義後使用。
一般情況下我們選擇將默認參數放在函數定義中,這是我們設計函數的初衷,以及保證程序的可讀性。
在實際調用過程中,實參按從左到右的順序被賦給相應的形參,而不能跳過任何參數。範例:

val = fun1(2);                //等價於 fun1(2,4,5)
val = fun1(1,8);            //等價於 fun1(1,8,5)
val = fun1(8,7,6);            //等價於 fun1(8,7,6)
val = fun1(3, ,8);            //這種調用方式有誤,有參數被跳過。


————————————————
版權聲明:本文爲CSDN博主「碼農講習所」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lsky380/article/details/102976485

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章