boost-smart-ptr

    0熱度

    1回答

    所以,我已經做了相當多的谷歌搜尋試圖找出是否有一些最好的智能指針來處理這個問題,但我還沒有能夠解決一個好選擇。 struct Car { int m_doors; int m_headlights; //etc.. } 可以說我有一些班車。我也有一個std::map<int carkey, Car*>這是垃圾場。 汽車*可以通過一些驅動程序添加到垃圾站,驅動程

    12熱度

    5回答

    簡單問題:你允許明確刪除boost::shared_ptr自己嗎?你應該嗎? 澄清,我不是指刪除由shared_ptr舉行的指針。我的意思是實際的shared_ptr本身。我知道大多數人建議不這樣做,所以我只是想知道是否明確地做到這一點。

    5熱度

    3回答

    對於boost::weak_ptroperator<已定義,因此它可用於關聯容器中。 我的問題是:幾個weak_ptr對象的排序順序是否穩定,即使它們中的一些更改爲零計數?這不是像std::set這樣的容器嗎? 例子: using namespace boost; shared_ptr<A> sptrA1(new A); weak_ptr<A> wptrA1 = sptrA1; weak_p

    6熱度

    1回答

    增強智能指針can be used with polymorphism,但是如何將子類轉換回指針? using namespace boost; // ... shared_ptr<SuperClass> a_ptr(new SubClass); // ... shared_ptr<SubClass> b_ptr = (shared_ptr<SubClass>)a_ptr; // Does

    3熱度

    1回答

    這並不編譯, #include <boost/intrusive_ptr.hpp> class X { public: void intrusive_ptr_add_ref(X* blah) { } void intrusive_ptr_release(X * blah) { } }; int main() { boost::intrusive_ptr

    0熱度

    1回答

    今天我想使用boost :: scoped_ptr指向boost :: thread。 在我Thread.h我boost::scoped_ptr<boost::thread> m_thread,在我Thread.cpp有一個功能create()其中的boost ::線程的創建應該發生。 我試過Thread::m_thread (new boost::thread(attr, boost::bind

    2熱度

    3回答

    我有一個包含數千個對象的std :: vector,存儲爲shared_ptr。由於對象具有許多可用於搜索的屬性,因此我使用weak_ptr維護std :: map上的std :: vector和std :: multimap的多個索引。 std::vector<std::shared_ptr<Object>> Objects; std::map<int,std::weak_ptr<Object

    7熱度

    2回答

    我一直在玩一些Boost組件,在我正在工作的項目中,我看到的只有一個需求是boost::shared_ptr。 難道只包含shared_ptr所需的文件,或者至少只包含我項目中Boost smart_ptr目錄的文件?他們似乎對Boost的其他部分有一些外部依賴性 - 但我認爲有一種簡單的方法可以使用Boost庫的某些組件,但我錯過了它。 如果你能告訴我我需要什麼零件或指向一個很好的教程,我將不勝

    0熱度

    2回答

    我有一些問題需要理解shared_ptr doc,因爲我是C++中的新手。我希望你能幫助我,我的示例代碼: #include <iomanip> #include <string> #include <iostream> #include <boost/shared_ptr.hpp> #include <boost/multi_array.hpp> #include <boost/lex

    0熱度

    1回答

    我有兩個班級,分別爲foo和bar。 foo的構造函數是private,以便僅允許bar類實例化它。 // foo.h class foo { friend class bar; private: foo() {} }; // bar.h class bar { public: bar() { foo* f = new