ホームページ > バックエンド開発 > C++ > デフォルトのパラメータ値は C 関数でどのように機能しますか?

デフォルトのパラメータ値は C 関数でどのように機能しますか?

DDD
リリース: 2024-11-04 08:43:30
オリジナル
397 人が閲覧しました

How do Default Parameter Values Work in C   Functions?

関数パラメータのデフォルト値

C では、関数はデフォルトのパラメータ値を持つことができます。これにより、不足している引数にはデフォルト値が使用され、より少ない引数で関数を呼び出すことができます。

デフォルト パラメータを使用して関数を定義する場合、構文は次のとおりです。

<code class="cpp"><return-type> <function-name>(<arg-type1> <arg-name1>, <arg-type2> <arg-name2> = <default-value>);</code>
ログイン後にコピー

デフォルトのパラメーターを使用して関数を定義するには 2 つの方法があります:

  1. 最初に関数のプロトタイプを作成します:

    <code class="cpp">int Add(int a, int b); // Prototype
    int Add(int a, int b = 3); // Definition</code>
    ログイン後にコピー
  2. 関数を直接定義する:

    <code class="cpp">int Add(int a, int b = 3); // Both declaration and definition</code>
    ログイン後にコピー

通常、デフォルトのパラメーター定義は関数宣言で指定されます。これは、コンパイラが関数を呼び出すコードをコンパイルするときにのみパラメータ宣言を参照するためです。宣言でデフォルト値を指定することにより、コンパイラーは、一部の引数が欠落している場合でも、関数が常に正しい数の引数で呼び出されることを保証できます。

次の例を考えてみましょう:

lib.h

<code class="cpp">int Add(int a, int b = 3);</code>
ログイン後にコピー

lib.cpp

<code class="cpp">int Add(int a, int b) {
   ...
}</code>
ログイン後にコピー

test.cpp

<code class="cpp">#include "lib.h"

int main() {
    Add(4);
}</code>
ログイン後にコピー

デフォルトのパラメータ定義が関数定義のみで指定されている場合、コンパイラはデフォルト値の宣言を認識しないため、test.cpp のコンパイルはエラーで失敗します。関数宣言でデフォルト値を指定すると、test.cpp は正常にコンパイルされ、欠落している引数にはデフォルト値の 3 が使用されます。

以上がデフォルトのパラメータ値は C 関数でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート