C ++のデフォルトパラメータは、関数パラメータのスペアタイヤのようなものです
デフォルトのパラメータの概念
デフォルトパラメータは、関数が宣言または定義されたときに関数パラメータに指定されたデフォルト値です。この関数を呼び出すときに、実際のパラメーターが指定されていない場合はデフォルト値が使用され、指定されていない場合は指定された実際のパラメーターが使用されます。
これは、次のコードで明確に説明できます。
void TestFunc(int a = 0)
{
cout<<a<<endl;
}
int mian()
{
TestFunc();//没有传参时,使用参数的默认值,即a=0
TestFunc(10);//传参时,使用指定的实参
}
デフォルトのパラメータ分類
1.すべてのデフォルトパラメータ
void TestFunc(int a = 0,int b = 1,int c = 2)
{
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
}
2.半デフォルトパラメータ
void TestFunc(int a,int b = 1,int c = 2)
{
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
}
特別な注意が必要な場所:
- セミデフォルトパラメータを使用する場合、それらは右から左の順に指定する必要があり、間隔を置いて指定することはできません。
- デフォルトのパラメーターは、同時に2つの場所に表示されるため、関数の宣言と定義に同時に表示することはできません。また、2つの位置で提供される値が異なる場合があり、コンパイラーはどちらのデフォルトを判別できません。使用する値
- デフォルト値は定数またはグローバル変数である必要があります
- C言語コンパイラはデフォルトパラメータをサポートしていません