雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

解析C++函數(shù)的默認參數(shù)和占位參數(shù)及較之C語言的拓展

來源:本站原創(chuàng)|時間:2020-01-10|欄目: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語言找出數(shù)組中的特定元素的算法解析

欄    目:C語言

下一篇:二分查找算法在C/C++程序中的應(yīng)用示例

本文標題:解析C++函數(shù)的默認參數(shù)和占位參數(shù)及較之C語言的拓展

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/2424.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有