C++関数のデフォルトパラメータと占有パラメータと比較したC言語の拡張を解析する

2043 ワード

占拠パラメータとデフォルトパラメータを組み合わせて使用することができます:後でプログラムの拡張のために手がかりを残してC言語プログラムの中で現れる可能性のある規範的でない書き方を互換します

//C++         ,               C      
int func(int a, int b, int = 0) 
{ 
  return a + b; 
} 
void main() 
{ 
  //              ,       
  func(1, 2); 
  func(1, 2, 3); 
  system("pause"); 
} 


デフォルトのパラメータはCの関数に対して1を広げます.C++では、関数宣言時にパラメータにデフォルト値を指定できます.関数呼び出し時にこのパラメータの値が指定されていない場合、コンパイラは自動的にデフォルト値で置き換えられます.

void myPrint(int x = 3) 
{ 
  printf("x:%d", x); 
} 


2.関数のデフォルト・パラメータのルールは、パラメータ・リストの後ろのパラメータのみがデフォルト・パラメータ値を指定できます.関数呼び出しでデフォルトのパラメータ値の使用を開始すると、このパラメータの後のすべてのパラメータにデフォルトのパラメータ値を使用する必要があります.

//     
void printAB(int x = 3) 
{ 
  printf("x:%d
", x); } // , , void printABC(int a, int b, int x = 3, int y=4, int z = 5) { printf("x:%d
", x); } int main(int argc, char *argv[]) { printAB(2); printAB(); system("pause"); return 0; }

 
デフォルトのパラメータはCの関数に対して1を広げます.C++では、関数宣言時にパラメータにデフォルト値を指定できます.関数呼び出し時にこのパラメータの値が指定されていない場合、コンパイラは自動的にデフォルト値で置き換えられます.

void myPrint(int x = 3) 
{ 
  printf("x:%d", x); 
} 


2.関数のデフォルト・パラメータのルール:パラメータ・リストの後ろのパラメータのみがデフォルト・パラメータ値を指定できます.関数呼び出しでデフォルトパラメータ値の使用を開始すると、このパラメータの後のすべてのパラメータにデフォルトパラメータ値を使用する必要があります.

//     
void printAB(int x = 3) 
{ 
  printf("x:%d
", x); } // , , void printABC(int a, int b, int x = 3, int y=4, int z = 5) { printf("x:%d
", x); } int main(int argc, char *argv[]) { printAB(2); printAB(); system("pause"); return 0; }