默認參數是函數聲明中提供的值,若是函數的調用者未提供具備默認值的參數值,則該值由編譯器自動分配。編程
如下是一個簡單的C ++示例,以演示默認參數的用法。咱們沒必要編寫3個求和函數,只需將第3個和第4個參數使用默認值便可使用一個函數。微信
輸出:2 5 5 0 8 0函數
當函數重載與默認值一塊兒完成時。而後,咱們須要確保它不會模棱兩可。學習
若是模棱兩可,編譯器將拋出錯誤。如下是上述程序的修改後的版本。spa
Error:視頻
關鍵點:blog
默認參數與常量參數不一樣,由於不能更改常量參數,而若是須要,則能夠覆蓋默認參數。教程
調用函數爲其提供值時,默認參數將被覆蓋。例如,調用函數sum(10,15,25,30)會將z和w的值分別覆蓋爲25和30。get
在調用函數期間,從調用函數到被調用函數的參數從左到右複製。所以,sum(10,15,25)會將十、15和25分配給x,y和z。所以,默認值僅用於w。編譯器
將默認值用於函數定義中的參數後,該參數的全部後續參數都必須具備默認值。也能夠說是默認參數是從右到左分配的。例如,如下函數定義無效,由於默認變量z的後續參數不是默認變量。
int sum(int x, int y, int z=0, int w)
以上。
天天學點小知識,但願對你有幫助~
另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~
C語言C++編程學習交流圈子,QQ羣464501141【點擊進入】微信公衆號:C語言編程學習基地
分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!