天天看點

C/C++函數形參的預設值, 預設值

C/C++函數形參的預設值可以在聲明或定義處指定, 但不能兩個地方都指定.

在聲明處定義形參的預設值的好處是, (1)使用者可以直覺檢視到, (2)調試時可以友善的更改預設值.

網文摘錄:

聲明是使用者可以看到的部分,客戶非常信任地使用這個特性,希望得到一定的結果,但是你在實作裡使用了不同的預設值,那麼将是災難性的。是以編譯器禁止聲明和定義時同時定義預設參數值。

若聲明時沒有定義預設參數值,那麼在定義成員函數時可以定義預設參數值。但這種情況通常使用者是看不見的,是以應避免。

對于非類中的函數,在函數聲明中定義預設參數的另外一個好處時,可以利用聲明來随意更改預設參數的值。