您好,登錄后才能下訂單哦!
這篇文章主要介紹了C++函數參數實例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C++函數參數實例分析文章都會有所收獲,下面我們一起來看看吧。
C++ 中可以在函數聲明時為參數提供一個默認值
當函數調用時沒有提供參數的值,則使用默認值
參數的默認值必須在函數聲明中指定
下面看一段代碼:
#include <stdio.h> int mul(int x = 0); int main(int argc, char *argv[]) { printf("%d\n", mul()); printf("%d\n", mul(-1)); printf("%d\n", mul(2)); return 0; } int mul(int x) { return x * x; }
下面分別是該程序在 C++ 和 C語言環境下的編譯結果:
在 C++ 編譯環境下程序能夠編譯通過,而在 C 語言條件下就不行,這就說明了函數參數的默認值是 C++ 語言對 C語言的一個擴展。且函數參數的默認值在定義時不會報錯,如果放在函數申明時會報錯。
函數默認參數的規則
參數的默認值必須從右向左提供
函數調用時使用了默認值,則后續參數必須使用默認值
如下所示:
下面看一段代碼感受一下:
#include <stdio.h> int add(int x, int y = 0, int z = 0); int main(int argc, char *argv[]) { printf("%d\n", add(1)); printf("%d\n", add(1, 2)); printf("%d\n", add(1, 2, 3)); return 0; } int add(int x, int y, int z) { return x + y + z; }
下面為輸出結果:
在 C++ 中可以為函數提供占位參數
占位參數只有參數類型聲明,而沒有參數名聲明
一般情況下,在函|數體內部無法使用占位參數
也就是說,下面這種表示方法在 C++ 中是沒有問題的:
函數占位參數的意義
占位參數與默認參數結合起來使用
兼容C語言程序中可能出現的不規范寫法
就比如說,下面這兩種表示方式,在 C++ 中表示相同的意思,表示沒有參數輸入;而在C 語言中前者表示可輸入參數個數不受限制,而后者表示沒有參數輸入
下面看一段代碼:
#include <stdio.h> int func(int x, int = 0); int main(int argc, char *argv[]) { printf("%d\n", func(1)); printf("%d\n", func(2, 3)); return 0; } int func(int x, int) { return x; }
下面為改代碼在C++和C語言兩種編譯條件下的輸出結果:
關于“C++函數參數實例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C++函數參數實例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。