shared-ptr

    2

    1答えて

    私のコードを設計するために、私はいくつかのUMLクラス図を描いています。 私はいくつかの共有オブジェクトを持っています。これらのオブジェクトの所有権は実際に共有されているので、どのように描くべきなのでしょうか?私はクラス図では、これら3つのクラス間の関係を表現するにはどうすればよい class A { public: A(){ std::shared_ptr<CShared

    20

    2答えて

    This answerstd::shared_ptrに対する今後の変更の両方T[]とT[N]変異体を可能にすることを示している、N4082を引用:アレイのunique_ptr部分特殊異なり をshared_ptr<T[]>とshared_ptr<T[N]>の両方が有効になり、両方がdelete[]あることになりオブジェクトの管理された配列で呼び出されます。 template<class Y> ex

    0

    1答えて

    私は共有ポインタインスタンスのために私自身のデストラクタを書く必要があります。残念なことに、そのようなインスタンスはライブラリ関数呼び出しから取得され、それを初期化するのではありません。だからここでデストラクタを "設定"することはできますか? 理想的には、私の心の中のコードは、私が最初に仮定するためのAPIを見つけられませんでした pointer.setDeleter(myDeleter);

    -2

    1答えて

    私はスマートポインタを使ってクラスのための小さなバイナリツリーを作成しなければなりません。 ChildLとChildRがパブリックメンバーであり、私はそれらを直接使用していますが、プライベートメンバーと関数を介してアクセスするツリーを作成するはずです。 コンソールの結果は単なるです:root 私を助けることができますか? shared_ptr<Node> createChildL(string n

    -1

    1答えて

    私はすべて同じオブジェクトを指している共有ポインタのグループを持っています。ある時点で、私はそれらのポインタを最初のオブジェクト(破棄すべき)から離し、すべてのオブジェクトが別のオブジェクトを指し始めるようにします。私はそのポインタの1つにしかアクセスできません、そして、私はどのようにthayを行うのか分かりません。一例では : using Ptr = shared_ptr<int>; voi

    1

    1答えて

    クラスを含むshared_pointerがまだ存在しないため、オブジェクトのコンストラクタからstd :: enable_shared_from_thisとshared_from_this()のペアを使用することはできません。しかし、私は本当にこの機能が欲しいです。私は自分のシステムを試してみました。それは問題なく動作しているようです。 namespace kp { template <c

    0

    1答えて

    std::unique_ptrとstd::shared_ptrをMPI送信/受信で渡す方法はありますか? MPIでクラスのオブジェクトを送信する方法はありますか? 構造体を渡すことは可能ですがオブジェクトについては知っていますか?

    2

    2答えて

    抽象基底クラスとその派生クラスの両方のファクトリを持つ必要があるとします(実際のコンストラクタへのアクセス権はありません)。効率性とコードスタイルの面で最も優れた構造はどれですか? 1)すべての工場でshared_ptrを返すようにします。これは一様ですが、クライアントコードで直接参照解除されるため、派生クラスの多くの不要なshared_ptrが発生します。 std::shared_ptr<Der

    0

    1答えて

    listがshared_ptrの場合、[]演算子(std::vector::operator[]に似ています)にオーバーロードしようとしています。位置index(私が与えられた設計仕様)の要素への参照を返す必要があります。 クラスcarおよびtruckは、抽象基本クラスvehicleから派生したものです。 クラスdealershipには、次のものが含まれていますstd::list<std::sha

    0

    2答えて

    私はC++で学校の宿題をしています(まだ学習中です)。私はランダムに生成されたバイナリツリー構造を実装しようとしています。複数の場所にノードの情報を格納するshared_ptrを使用しています(私は宿題のために必要です)。 (これは私の小さなテストプログラムである)次のサンプルコードを考えてみましょう。この場合、 #include <vector> #include <memory> st