Default パラメーターを使用すると、関数は Visual Studio の別の構文を使用して、C 11 以降でサポートされている既定値を使用できます。可変引数を使用すると、関数が変数引数を受け取ることができます。C 11 以降でサポートされます。GCC では特別な構文が必要です。
さまざまなコンパイラにおける C 関数のデフォルト パラメータと変数パラメータの違い
デフォルト パラメータ
デフォルト パラメーターを使用すると、対応するパラメーターが指定されていない場合に、関数で事前定義された値を使用できます。 C 11 以降では、デフォルトのパラメータがサポートされています。
Visual Studio では、次の構文を使用してデフォルト パラメーターを指定できます。
int AddNumbers(int a, int b = 10) { return a + b; }
GCC では、次の構文を使用します。
int AddNumbers(int a, int b = 10) __attribute__((deprecated));
可変パラメーター
変数パラメーターを使用すると、関数は無限の数のパラメーターを受け取ることができます。 C 11 以降では、可変個引数がサポートされています。
Visual Studio では、...
を使用して変数パラメーターを表すことができます:
void PrintNumbers(int n, ...) { va_list args; va_start(args, n); for (int i = 0; i < n; i++) { cout << va_arg(args, int) << " "; } va_end(args); }
GCC では、次の構文を使用します:
void PrintNumbers(int n, ...) __attribute__((deprecated));
実際のケース
デフォルトパラメータのケース:
int main() { // 使用默认参数 int sum1 = AddNumbers(5); // sum1 为 15 // 不使用默认参数 int sum2 = AddNumbers(5, 20); // sum2 为 25 return 0; }
#可変パラメータのケース:
int main() { // 声明并初始化可变参数列表 int n = 5; int numbers[] = {1, 2, 3, 4, 5}; // 使用可变参数函数打印数字 PrintNumbers(n, numbers); // 输出:1 2 3 4 5 return 0; }
注
は、機能が非推奨であるがまだサポートされていることを示します。ご使用の際は十分ご注意ください。
以上がさまざまなコンパイラにおける C++ 関数のデフォルト パラメータと変数パラメータの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。