預設引數是函式宣告中提供的值,如果函式的呼叫者未提供具有預設值的引數值,則該值由編譯器自動分配。
以下是一個簡單的C ++示例,以演示預設引數的用法。我們不必編寫3個求和函式,只需將第3個和第4個引數使用預設值即可使用一個函式。
輸出:2 5 5 0 8 0
當函式過載與預設值一起完成時。然後,我們需要確保它不會模稜兩可。
如果模稜兩可,編譯器將丟擲錯誤。以下是上述程式的修改後的版本。
Error:
關鍵點:
預設引數與常量引數不同,因為不能更改常量引數,而如果需要,則可以覆蓋預設引數。
呼叫函式為其提供值時,預設引數將被覆蓋。例如,呼叫函式sum(10,15,25,30)會將z和w的值分別覆蓋為25和30。
在呼叫函式期間,從呼叫函式到被呼叫函式的引數從左到右複製。因此,sum(10,15,25)會將10、15和25分配給x,y和z。因此,預設值僅用於w。
將預設值用於函式定義中的引數後,該引數的所有後續引數都必須具有預設值。也可以說是預設引數是從右到左分配的。例如,以下函式定義無效,因為預設變數z的後續引數不是預設變數。
int sum(int x, int y, int z=0, int w)
以上。
另外如果你想更好的提升你的程式設計能力,學好C語言C++程式設計!彎道超車,快人一步!筆者這裡或許可以幫到你~
程式設計學習書籍分享:
程式設計學習影片分享:
分享(原始碼、專案實戰影片、專案筆記,基礎入門教程)