shared_ptrをクラスのメンバとして使用したいのですが、shared_ptrが管理する型は毎回異なり、実行時にのみ認識されます。そのようなメンバーを宣言して後でそれを初期化する方法はありますか?generic shared_ptrをクラスのメンバとして
0
A
答えて
3
はい。
共通の基本クラス、たとえばBase
を定義し、その中に共通のインタフェースを仮想関数として宣言し、そこから派生し、派生クラスに仮想関数を実装することを意味します。
std::share_ptr<Base> ptr;
//now ptr can store an instance of any derived class from Base
それとも、共通の基本クラスを定義することはできません場合は、boost::any
を使用することができます。あなたがそうなら、あなたはこのように使用することができます。 Boostを使用できない場合は、any
クラスを自分で定義することができます。このサイトとgoogleでタイプ消去を検索してください。
次は、型消去に2-ページの記事で、あなたは(完了していないが)second pageにboost::any
の実装を見つけることができます:
1
タイプがある場合無関係な場合は、Boost.Any
のようなものを使用できます。それ以外の場合は、@Nawaz saysを実行します。
関連する問題
- 1. クラス参照メンバが同じクラスの他のメンバを指している
- 2. shared_ptrメンバ変数を初期化する、新しいvs make_shared?
- 3. 抽象基本クラスのNHibernateとgenericリスト
- 4. ローカルのunique_ptrをshared_ptrとして返す
- 5. ベクトルをメンバ変数として持つクラスでブーストメモリプールを使う
- 6. 静的クラスのメンバ
- 7. C#Generic Vector4クラスを作成していますか?
- 8. スマートポインタをクラス内の引数として渡す:scoped_ptrまたはshared_ptr?
- 9. C++のクラスとメンバ変数のヘルプ
- 10. genericとのコンパイルエラー
- 11. boost :: shared_ptrとstd :: shared_ptrの共存
- 12. メンバ関数をメンバ関数のパラメータとして渡す
- 13. 私は別のクラスからクラスのメンバを持ってしようとしています別の
- 14. genericクラスのtypeクラスのオブジェクトをパラメータとして使用するにはどうすればよいですか? -
- 15. デフォルト値は::クラスのコンストラクタでのshared_ptr
- 16. 上位クラスのメンバC++
- 17. クラスの静的メンバ変数
- 18. クラスとメンバ関数(初心者)
- 19. static&constメンバ、静的クラスとボトルネック
- 20. NinjectとGeneric
- 21. DjangoとGeneric Views
- 22. hibernateとgenericフィールドマッピング
- 23. .cppファイルにクラスの静的メンバを使用して
- 24. QThreadオブジェクトをワーカークラスのメンバとして
- 25. Python classmethods:インスタンスのメンバとクラスのメンバの違いは何ですか? Pythonでは
- 26. ブースト:: shared_ptrのとマルチスレッドアクセス
- 27. UnityのGeneric Typeをマップしようとしています
- 28. アップルとshared_ptr
- 29. はのshared_ptrとweak_ptrを
- 30. "Generic" @XmlRootElement?
'std :: shared_ptr 'を意味しますか? –
@KerrekSB:おっと。はい。ありがとう。 – Nawaz