1

ブースト scoped_ptr を使用した C++ ポリモーフィズムに続いて、C++ 引数推定のルールを理解したいと思います。例えば:

  1. スマート ポインターとコンテナーが使用される場合の C++ ポリモーフィック置換の規則
  2. const 引数と非 const 引数の間の自動変換
  3. いつ一時変数を参照として渡すことができますか?
  4. テンプレートの引数の推定では、ルールはどのように異なりますか。

標準に関連するセクションがある場合は、それも役立ちます。

4

1 に答える 1

0

この質問は広すぎると思いますし、すべての質問が何であるか理解できません。ジェレは私のショットです:

  1. テンプレートの推論は、基本クラスや変換を気にしません。静的型を推測します。直接一致がない場合にのみ、変換でこれを解決できるかどうかが試行され、通常どおり、1つの変換のみが適用されます。たとえば、渡される型は生のポインタであり、期待される型は、これを見つける必要がある組み込みポインタから暗黙的に変換できるスマートポインタです。
  2. 値型の場合、定数は無視されます。参照またはポインター型の場合、非constポインターまたは参照は、対応する非constバージョンに変換できます。推定されたtupeにはcv-qualifiersはありませんが、cv-qualifird型を使用して同じ関数を明示的にインスタンス化することは可能です。T&&異なるルールが適用されると推測します。
  3. constTemporaryは、修飾された左辺値参照と右辺値参照にのみバインドできます。これは言語では普遍的です。
  4. この比較は何ですか?
于 2012-03-24T22:11:39.343 に答える