shared-ptr

    0熱度

    2回答

    我有多個類與 class A : public boost::enable_shared_from_this<A> { public: typedef boost::shared_ptr<A> pointer; static pointer create(tcp::socket& socket) { return pointer(new A(soc

    7熱度

    1回答

    class A {}; typedef shared_ptr<const A*> AConstPtr; typedef shared_ptr<A*> APtr; vector<APtr> ptr; const vector<AConstPtr>* foo() { return &ptr; } 此代碼不編譯,因爲「存在來自矢量< APTR > *沒有隱式轉換成cons

    3熱度

    1回答

    我已經...(最近被添加從升壓到STD)從enable_shared_from_this派生的類 class Blah : public std::enable_shared_from_this<Blah> { }; 我知道我應該從實例創建共享指針這樣的: Blah* b = new Blah(); std::shared_ptr<Blah> good(b->shared_from_t

    0熱度

    3回答

    struct A { A(int a); }; struct B { B(); void b(std::shared_ptr<A> a); }; int main() { A a(1); B b; b.b(&a); } 所以我得到了這個錯誤,抱歉,這是我的智能指針的第一次! 錯誤: no suitable cons

    25熱度

    4回答

    我使用reset()作爲我的shared_pointer的默認值(相當於NULL)。 但是,如何檢查shared_pointer是否爲NULL? 這會返回正確的值嗎? boost::shared_ptr<Blah> blah; blah.reset() if (blah == NULL) { //Does this check if the object was reset() ?

    8熱度

    2回答

    沒有shared_ptr<>的使用經驗我想知道以下是否是適當的用例,以及是否將shared_ptr<>返回給用戶是一個好主意。 我有一個像節點之間有多個連接的結構圖。遍歷圖時,每個節點都被分配一個值(從連接節點計算),我希望用戶能夠輕鬆訪問該值。整體看起來(非常簡化的)是這樣的: class Pool; class Node { public: typedef std::t

    1熱度

    2回答

    我有我在哪裏使用std :: shared_ptrs對象繼承層次中的一些邏輯。有一次,我需要根據自己的實際類型來處理這些對象,所以我使用的是雙調度(即我呼籲基類,然後依次調用與真實類型另一個對象的方法的方法,例如見GoF的訪客模式)。 現在,在這一點上,我既可以傳遞給對象的引用正確類型或複印件。由於幾個原因,副本是沒有問題的。引用通常會很好,因爲調用發生在shared_ptr所在的範圍之下的一個範

    0熱度

    1回答

    我對boost shared_ptr有問題。循環中智能指針的初始化時間在第一次迭代後增加。 第一次迭代需要40毫秒。每隔一次迭代大約需要400毫秒。 我不知道爲什麼會發生。我查了一下,沒有內存泄漏,所有的析構函數都被調用。有沒有人有這種情況下的解決方案? PS。但是,當我使用boost :: ptr_vector時,時間不會增加(但僅在調試版本:))。 見例如: class A; typedef

    8熱度

    3回答

    爲shared_ptr的的等於運算符的定義如下: template<class T, class U> inline bool operator==( shared_ptr<T> const & a, shared_ptr<U> const & b) { return a.get() == b.get(); } 這似乎打破。將平等轉發給a和b所指的是不是更好?或者這會對圖

    1熱度

    1回答

    我使用shared_ptr作爲我正在編寫的C++編寫的玩具語言的垃圾回收。我的對象來自一個公共基類,上面有字符串和數字,然後是矢量和地圖。在C++端的所有東西都被包裝在shared_ptr中,所以我的容器實際上保存着shared_ptr,這樣當它們被銷燬時,它們的內容也被銷燬了。這個方案的工作原理,但是它感覺有點奇怪,因爲基礎對象的容器持有shared_ptr。我的設計有缺陷嗎?如果是,那麼圍繞這