weak-ptr

    5

    2答えて

    を実装するためのweak_ptrを使用することです: Observer.h class Observer { public: ~Observer(); virtual void Notify() = 0; protected: Observer(); }; class Observable { public: ~Observable();

    3

    2答えて

    std::weak_ptrとstd::make_sharedを使用したときにこの現象が発生し、ちょっと変わったと感じました。私はC++ 11を使用しています。 #include <iostream> #include <memory> int main() { std::weak_ptr<int> weak; std::shared_ptr<int> shared {

    3

    1答えて

    : をオブジェクトにアクセスするには、のweak_ptrはshared_ptrのコンストラクタまたはメンバ関数ロックを使用してのshared_ptrに変換することができます。 ここでも、ブーストから:私の知る限り、1の参照カウントを持つ新しいのshared_ptrを作成shared_ptr<T>(*this)手段を返す理解し shared_ptr<T> lock() const; //Retu

    0

    2答えて

    私は同様のquestionを見つけましたが、私の例は若干異なります。ここで は非常に単純な例です: int main() { auto sp = std::make_shared<T>(); std::weak_ptr<T> wp = sp; sp.reset(); assert(wp.expired()); } それはshared_ptrのリセット

    0

    1答えて

    私はこのように私のプログラムでstd::mapを交換するtbb::concurrent_unordered_mapを使用しています:今 Before: class KvSubTable; typedef std::weak_ptr<KvSubTable> KvSubTableId; std::map<KvSubTableId, int, std::owner_less<KvSubTable

    0

    1答えて

    クラスAとクラスBをクラスAの各インスタンスはクラスBの0〜N個のインスタンスから所有します。Aのインスタンスが削除されると、Bのインスタンスも削除されます。例えば は:shared_ptr<parent>を有する class parent { private: vector< unique_ptr<child> > m_children; public: weak

    -1

    1答えて

    std::shared_ptrをダウンキャストしようとすると、派生クラスにstd::weak_ptrが含まれているstd::static_pointer_castを使用してセグメンテーションが発生しました。ここで はMWEです: #include<iostream> #include<memory>

    1

    1答えて

    私は特にスマートポインタ、弱いポインタについて読んでいました。私は弱いポインタが何かを指しているかどうかは不明であるので、弱いポインタは共有ポインタのような類似の方法を持たないことを理解しました。その後、私はIntellisenceが_Get()メソッドを提案したことがわかりました。 std :: weak_ptrの_Get()メソッドは何を行うのですか?いつ使用する必要がありますか?

    2

    4答えて

    私が理解しているように、割り当て解除された可能性のあるstd::shared_ptrによって参照されるメモリを参照する安全な方法として、std::weak_ptrが使用されています。 std::unique_ptrと一緒に使うことはできますか?

    -4

    1答えて

    まず、std::weak_ptrの典型的な実装は何ですか?特にstd::weak_ptrは、std::shared_ptrの制御ブロックへのポインタにすぎませんか? std::shared_ptrの参照がすべて消えた場合、内部コントロールブロックは削除されますか?もしそうなら、std::weak_ptr::expired()は、そのメモリが再利用されていると、どのように正しく機能しますか? 私はs