boost-smart-ptr

    0熱度

    1回答

    我有2個線程可以訪問這一個對象。 線程A:更新一個升壓hared_ptr構件 線程B:讀取升壓shared_ptr的構件 由於一個shared_ptr不是整數/真實指針類型,它不能由原子螺紋B. 我讀想要避免鎖定。 如何保證線程B獲得有效的shared_ptr? 謝謝!

    4熱度

    2回答

    我正在學習使用智能增強指針,但我對某些情況有點困惑。我們假設我正在實現一個狀態機,每個狀態通過一個更新方法來實現。 每個國家可以返回其自身或創建一個新的狀態對象: struct state { virtual state* update() = 0; // The point: I want to return a smart pointer here }; struct sta

    13熱度

    4回答

    我在使用基類的shared_ptr時遇到問題,我無法在解引用它時調用派生類的方法。我相信代碼會比我更詳細: class Base : public boost::enable_shared_from_this<Base> { public: typedef boost::shared_ptr<BabelNet> pointer; }; class Derived : p

    3熱度

    3回答

    我有一個shared_ptr和weak_ptr的 typedef boost::weak_ptr<classname> classnamePtr; typedef boost::shared_ptr<x> xPtr; 如何將了weak_ptr轉換爲一個shared_ptr shared_ptr = weak_ptr; Xptr = classnameptr; ?????

    2熱度

    1回答

    我有一大堆我用SWIG包裝的C++代碼,並且正在從Java調用它。 C++代碼廣泛使用boost智能指針。 我的一些JUnit測試已完成,但在清理過程中遇到了seg故障。堆棧跟蹤指示對象最終化中的內存錯誤,但它發生在由SWIG生成的JNI代碼中,似乎與智能指針引用計數相關聯。 我希望能夠遍歷所有代碼層。這可能嗎?我也很樂意聽到別人對這類問題的經歷。

    7熱度

    3回答

    boost::intrusive_ptr要求定義intrusive_ptr_add_ref和intrusive_ptr_release。爲什麼不提供這樣做的基類?這裏有一個例子:http://lists.boost.org/Archives/boost/2004/06/66957.php,但海報上寫着「我不一定認爲這是個好主意」。爲什麼不? 更新:我不認爲這個類可能被誤用於多繼承的事實是足夠的理由