問題タブ [default-arguments]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - オーバーロード選択中に考慮されないデフォルト引数の変換?
私はこの質問に対する簡単な解決策を書こうとしていました:ポインターへの配列の減衰とオーバーロードの解決
明らかにオリジナルでは、両方のオーバーロードの変換強度が等しい (完全一致) ため、非テンプレートが優先されます。実際、もう一方をテンプレートに変更すると、呼び出しがあいまいになります。
そこで、ユーザー定義の変換を導入したいと考えました。これは、2 番目のオーバーロードの正確な一致よりも厳密に悪いものです。
しかし、g++ は、これはまだあいまいであると言います。デフォルト引数のユーザー定義の変換がオーバーロードのランキングに影響しないのはなぜですか?
c++ - テンプレート メソッドへのデフォルト引数として関数ポインタを使用しているときにエラーが発生しました
このコードをコンパイルしようとすると、Visual Studio 2012 で次のコンパイラ エラーが発生します。
私のコード:
グローバル名前空間に移動bar::foo
すると、エラーが発生しなくなりました。誰でも説明できますか?
上記のコードを編集して、メンバー関数とテンプレートの特殊化に関する混乱を取り除きました。typedef も削除しました。これにより、同じエラーのさらに奇妙なバージョンが発生します。cannot convert 'void(_cdecl*)(void)' to 'void(_cdecl*)(void)'
c++ - デフォルトの引数を持つ c++ 静的メンバー メソッド
静的メンバー変数にデフォルトの引数を使用すると、落とし穴はありますか? このような:
コンパイラは文句を言うことはありませんが、静的に関係する場合は常に注意しています。
c++ - デフォルトのテンプレート引数はどのように機能しますか?
テンプレートのデフォルト引数の構文に関する質問がたくさん寄せられていることは知っています。
通常、答えは(それがどのように機能するかについての私の理解と同期して)そのようなものを使用することです:
最近、Boost でどのマップ実装が使用されているかを確認したいと思いましたmapped_vector
。そして、次のスニペットを見つけました:
どうやら、引数のデフォルトのバインディングはありませんが、どうやら、うまくA
インスタンス化できますmapped_vector<int>
。明らかに、デフォルトの引数は何らかの形で推論されますが、どのように?
編集:正確には、このファイルの279行目について話している
c++ - 未使用のデフォルト引数はパフォーマンスを低下させますか C++
function を宣言するとしますfoo(int arg1, int arg2 = 0, int arg3 = 0, int arg4 = 0)
。最後の 3 つの引数はときどき (存在する場合) だけ指定され、ほとんどの場合、関数は として呼び出されfoo(some_int)
ます。foo(int arg1)
代わりに関数を として宣言し、実際に必要な場合は他の引数を渡すための別のソリューションを使用することで、パフォーマンスを向上させることができますか?
言い換えれば、宣言されているが指定されていないデフォルト引数は関数呼び出しを遅くしますか?
この場合の関数はオブジェクトのコンストラクターですが、それは一般的な質問です。
php - PHP で If ステートメントを使用して 2 つの引数を結合する方法
ここであなたの助けが本当に必要です。1 つの if ステートメントで、より大きい (>) とより小さい (<) の 2 つの引数を使用する方法を知りたいです。以下のコードでこれを実行しようとしましたが、「else」ステートメントでエラー メッセージが表示され続けます。
どんな助けでも大歓迎です、ありがとう。
php - 型にはまらない引数の受け渡しによる奇妙な動作
コードで関数を呼び出すときに誤って関数ヘッダーをコピーしましたが、何らかの理由でコードがまだ機能しています。どうしてこれなの?
当然、次のように記述します。
しかし、最後のパラメーターが実際に'results'
. 純粋な変数の代入は単に として評価されるべきではありませんtrue
か?
デフォルトでは、関数ヘッダーにあり$handle_key
ます。null
python - 同一のデフォルトパラメータを持つPythonメソッドの変数の範囲?
かなり検索した後、これをカバーする例が見つかりませんでした。しかし、私は状況について混乱しているので、正しい用語を使用していない可能性があります。したがって、これはおそらく重複しているように感じます。
しかし、同じ名前のパラメーターを持つ 2 つのメソッドを持つ Python クラスがある場合、この動作はどうなるでしょうか?
c++ - デフォルト引数に右辺値参照を使用する
オブジェクトへのオプションの参照を取り、それが提供されていない場合は、関数の実行中に作成する関数を作成したい、つまり
もちろん、これは無効なコードです。このコンテキストでは、 を参照にBar
暗黙的に変換することはできません。関数内で変更されているため、Bar
参照を にすることはできません。const
b
これは、右辺値参照を使用することで回避できます。つまり、
これは右辺値参照の有効な使用法ですか? 通常、右辺値を渡す場合のように、渡された をクリアするつもりはありませんが、呼び出し元は引数を呼び出すstd::move
必要があります。Bar
Bar
c++ - C++ では、他のパラメーターをデフォルトのままにして、一部のパラメーターをどのように渡すことができますか?
これはすでにここで回答されていると確信していますが、検索では PHP、C#、および Java が返され続けます。特にC++について質問しています。
5 つの引数を取り、すべてにデフォルト値がある関数があり、3 番目の引数に値を指定して明示的に呼び出したい場合、1 番目と 2 番目の引数に何を渡せばよいでしょうか? (うまくいかないことはわかっfunc(,,"Third")
ていますが、どちらもうまくいきませんfunc(thirdArg:"Third")
)