2012-03-24 18 views
1

次のようになります。C++ polymorphism with boost scoped_ptr、 C++引数の減算の規則を理解したいと思います。例:スマートポインタと 容器はCONSTと非const引数 C++引数置換の規則

  • 間、
  • 自動変換を使用している

    1. C++多型の置換のための規則は、一時は参照として渡すことができますか?
    2. テンプレート引数の控除では、どのようにルールが異なりますか。

    標準に関連するセクションがある場合は、それも役立つと指摘できます。

  • +1

    非常に良い質問ですが、非常に幅広いです。それを複数の質問に分割したいかもしれません。 –

    +0

    OK。これをコミュニティウィキとして持っている方が良いですか?私はリファクタリングします。 – ATemp

    +0

    あなたは正確に何について確信していますか?あなたの教科書はどの時点で不明でしたか? –

    答えて

    0

    私はこの質問ははるかに広すぎると思うが、私はすべての質問が何であるか理解していない。 Jereは私のショットです:

    1. テンプレートの控除は、基本クラスまたは変換については気にしません。それは静的型を推定する。直接の一致がない場合にのみ、コンバージョンがこれを解決できるかどうか試します。通常どおり1回のコンバージョンが適用されます。たとえば、渡された型は未加工のポインタであり、期待される型はスマートなポインタであり、これを見つけるはずのビルドインポインタから暗黙的に変換することができます。
    2. 値型の場合、constnessは無視されます。参照型またはポインタ型の場合、非constポインタまたは参照は対応する非constバージョンに変換できます。ただし、cv-qualifird型で明示的に同じ関数をインスタンス化することは可能ですが、推定されたtupeにはcv修飾子はありません。あなたはabを推測しますT&&違う規則が適用されます。
    3. テンポラリは、const修飾された左辺値参照と右辺値参照にのみバインドできます。これは言語で普遍的です。
    4. この比較は何ですか?
    関連する問題