通常情況下,函式在呼叫時,形參從實參那裡取得值。對於多次呼叫同一函式同一實參時,c++給出了更簡單的處理辦法。給形參以預設值,這樣就不用從實參那裡取值了。
//1 若你填寫引數,使用你填寫的,不填寫預設
void
func
(int a =3)
//2 在預設引數規則 ,如果預設引數出現,那麼右邊的都必須有預設引數
void
func
(int a,
int b,
int c =1,
int d =2)
intmain()
只有引數列表後面部分的引數才可以提供預設引數值,一旦在乙個函式呼叫中開始使用預設引數值,那麼這個引數後的所有引數都必須使用預設引數值
函式宣告和實現,只能有乙個提供預設引數,不可以同時加預設引數
只寫乙個型別進行佔位,呼叫時必須要傳入佔位值
void func(int a, int = 1);
佔位引數也可以有預設值
/*
可以將佔位引數與預設引數結合起來使用
意義:1.為以後程式的擴充套件留下線索
2.相容c語⾔言程式中可能出現的不規範寫法
*///c++可以宣告佔位符引數,佔位符引數儀般用於程式擴充套件和對c**的相容
intfunc
(int a,
int b,
int=0)
intmain()
結論:如果預設引數和佔位引數在一起,都能呼叫起來 C 對C的函式拓展 預設引數
1 c 中可以在函式宣告時為引數提供乙個預設值,當函式呼叫時沒有指定這個引數的值,編譯器會自動用預設值代替 void myprint int x 3 2函式預設引數的規則 只有引數列表後面部分的引數才可以提供預設引數值 一旦在乙個函式呼叫中開始使用預設引數值,那麼這個引數後的所有引數都必須使用預設引...
c 對C語言的擴充套件(一)
一 c 對c的加強 1 命名空間 為什麼要引入命名空間這個概念 乙個中大型軟體往往由多名程式設計師共同開發,會使用大量的變數和函式,不可避免地會出現變數或函式的命名衝突。當所有人的 都測試通過,沒有問題時,將它們結合到一起就有可能會出現命名衝突。例如小李和小韓都參與了乙個檔案管理系統的開發,它們都定...
C 預設引數和佔位引數
預設引數 可以給函式的形參指定乙個值作為這個形參的預設引數,當不給引數傳實參時,使用這個引數 1 有函式宣告時,預設引數可以放在函式宣告或者定義中,但是只能二者之間選擇一種 2 沒有函式宣告時,預設引數在函式定義中 3 在具有多個引數的函式中指定預設值時,預設值都必須出現在非預設引數的右邊。即一旦某...