解析C++函數(shù)的默認參數(shù)和占位參數(shù)及較之C語言的拓展
可以將占位參數(shù)與默認參數(shù)結(jié)合起來使用
意義:
為以后程序的擴展留下線索 
兼容C語言程序中可能出現(xiàn)的不規(guī)范寫法
//C++可以聲明占位符參數(shù),占位符參數(shù)一般用于程序擴展和對C代碼的兼容 
int func(int a, int b, int = 0) 
{ 
  return a + b; 
} 
void main() 
{ 
  //如果默認參數(shù)和占位參數(shù)在一起,都能調(diào)用起來 
  func(1, 2); 
  func(1, 2, 3); 
  system("pause"); 
} 
默認參數(shù)對C的函數(shù)拓展
1.C++中可以在函數(shù)聲明時為參數(shù)提供一個默認值,
當函數(shù)調(diào)用時沒有指定這個參數(shù)的值,編譯器會自動用默認值代替
void myPrint(int x = 3) 
{ 
  printf("x:%d", x); 
} 
2.函數(shù)默認參數(shù)的規(guī)則
只有參數(shù)列表后面部分的參數(shù)才可以提供默認參數(shù)值。一旦在一個函數(shù)調(diào)用中開始使用默認參數(shù)值,那么這個參數(shù)后的所有參數(shù)都必須使用默認參數(shù)值:
//默認參數(shù) 
void printAB(int x = 3) 
{ 
  printf("x:%d\n", x); 
} 
 
//在默認參數(shù)規(guī)則 ,如果默認參數(shù)出現(xiàn),那么右邊的都必須有默認參數(shù) 
void printABC(int a, int b, int x = 3, int y=4, int z = 5) 
{ 
  printf("x:%d\n", x); 
} 
int main(int argc, char *argv[]) 
{ 
  printAB(2); 
  printAB(); 
  system("pause"); 
  return 0; 
} 
默認參數(shù)對C的函數(shù)拓展
1.C++中可以在函數(shù)聲明時為參數(shù)提供一個默認值,當函數(shù)調(diào)用時沒有指定這個參數(shù)的值,編譯器會自動用默認值代替:
void myPrint(int x = 3) 
{ 
  printf("x:%d", x); 
} 
2.函數(shù)默認參數(shù)的規(guī)則:
只有參數(shù)列表后面部分的參數(shù)才可以提供默認參數(shù)值。
一旦在一個函數(shù)調(diào)用中開始使用默認參數(shù)值,那么這個參數(shù)后的所有參數(shù)都必須使用默認參數(shù)值。
//默認參數(shù) 
void printAB(int x = 3) 
{ 
  printf("x:%d\n", x); 
} 
 
//在默認參數(shù)規(guī)則 ,如果默認參數(shù)出現(xiàn),那么右邊的都必須有默認參數(shù) 
void printABC(int a, int b, int x = 3, int y=4, int z = 5) 
{ 
  printf("x:%d\n", x); 
} 
int main(int argc, char *argv[]) 
{ 
  printAB(2); 
  printAB(); 
  system("pause"); 
  return 0; 
} 
欄 目:C語言
下一篇:二分查找算法在C/C++程序中的應(yīng)用示例
本文標題:解析C++函數(shù)的默認參數(shù)和占位參數(shù)及較之C語言的拓展
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/2424.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
 - 04-02c語言的正則匹配函數(shù) c語言正則表達式函數(shù)庫
 - 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
 - 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對數(shù)怎么表達
 - 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
 - 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
 - 04-02c語言沒有round函數(shù) round c語言
 - 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
 - 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
 - 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘
 


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
 - 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
 - 04-02c語言的正則匹配函數(shù) c語言正則表達
 - 04-02c語言用函數(shù)寫分段 用c語言表示分段
 - 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
 - 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
 - 04-02c語言沒有round函數(shù) round c語言
 - 04-02c語言分段函數(shù)怎么求 用c語言求分段
 - 04-02C語言中怎么打出三角函數(shù) c語言中怎
 - 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
 
隨機閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 - 01-10C#中split用法實例總結(jié)
 - 04-02jquery與jsp,用jquery
 - 01-10delphi制作wav文件的方法
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 01-10使用C語言求解撲克牌的順子及n個骰子
 - 08-05織夢dedecms什么時候用欄目交叉功能?
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 01-11ajax實現(xiàn)頁面的局部加載
 


