私はC++で記述された機能があります。新しい、シグニチャ定義
foo (IN bool someMode = false)
をそれが何を意味するのでしょうか? someModeは常にfalseに初期化されますか?たとえfooがtrueで呼び出されたとしても?
私はC++で記述された機能があります。新しい、シグニチャ定義
foo (IN bool someMode = false)
をそれが何を意味するのでしょうか? someModeは常にfalseに初期化されますか?たとえfooがtrueで呼び出されたとしても?
それはfoo
は一つの引数を取るにもかかわらず、あなたは、任意の引数を渡すことなく、この関数を呼び出すことができます意味:あなたはこのように呼び出すとそれがどのようなそのあるとして、その後、someMode
値は、false
なります
foo(); //ok
デフォルトはです。関数シグネチャ内のsomeMode = false
は、引数が渡されない場合、someMode
はfalse
になります。プログラミングでは、そのようなパラメータはデフォルトパラメータであると言われており、このコンテキストではfalse
はデフォルトのの値と言われています。お電話の場合は、基本的に、あなたはそれを省略することができ、
foo(false); //ok
foo(true); //ok
そのデフォルトパラメータ:
foo();
その後、someModeまだはあなたが望むなら
しかし、あなたは引数を渡すことができます存在する場合はfalseに設定しますが、電話する場合は
foo(true);
となり、someModeはtrueになります。
すぐに返信いただきありがとうございます! – adisar86
通常、IN
は何もしないマクロであり、引数が関数への入力であることを知らせるだけなので、実際にはfoo(bool someMode=false)
です。あなたが残しているのはデフォルトの引数です。これは、このようなコードを呼び出すことができます意味:
foo(true); // Here someMode=true
foo(false); // Here someMode=false
またはこの
foo(); // Here someMode=false
ありがとうマイケル!!迅速な対応を感謝します! – adisar86
素晴らしいように!あなたの助けをたくさんthakns! – adisar86