shared-ptr

    3熱度

    7回答

    的載體請看下面的例子代碼: class Foo { }; class Bar : public Foo { }; class FooCollection { protected: vector<shared_ptr<Foo> > d_foos; }; class BarCollection : public FooCollection { public:

    3熱度

    4回答

    如何讓Eclipse CDT將shared_ptr作爲T *進行語法完成? 我在這種情況下使用Windows。 「Program Files」文件夾中有1.39。我即將嘗試1.37。 我正在使用Eclipse的伽利略版本。另外,我只編輯和瀏覽Eclipse中的源代碼,並在VC++ Express中編譯。 (但那是另一回事)

    35熱度

    14回答

    boost :: shared_ptr可以釋放存儲的指針而不刪除它嗎? 我可以看到文檔中沒有釋放函數存在,也是在幫助解釋爲什麼它不提供釋放功能,類似的東西釋放不能說不是唯一的指針來完成。我的指針是獨一無二的。我怎樣才能釋放我的指針? 或者哪個提升智能指針類的使用可以讓我釋放指針? 我希望你不會說使用auto_ptr :)

    0熱度

    4回答

    全部, 我最近發佈了這個question DAL設計。由此看來,將一個對象的引用傳遞給一個函數,然後該函數將填充該對象,這對C++數據訪問層來說是一個很好的接口, bool DAL::loadCar(int id, Car& car) {} 我現在想知道如果使用對boost :: shared_ptr的引用會更好,例如, bool DAL::loadCar(int id, boost::sha

    15熱度

    1回答

    boost::shared_ptr,std::tr1::shared_ptr和即將到來的(在C++0x)std::shared_ptr之間是否有任何差異? 將從一個移植到另一個有任何開銷或基本相同?

    3熱度

    4回答

    我試圖建立一個非常簡約的內存讀取庫來讀取它的一些unsigned int。但是,當ReadUnsignedInt方法想要返回時,我遇到了「HEAP CORRUPTION DETECTED」錯誤消息。 堆損壞檢測。 CRT檢測到應用程序在緩衝區結束後寫入內存。 正如我所看到的,這可能是因爲當試圖刪除一些東西時。這可能是由於一些不正確的使用std::tr1::shared_ptr引起的,但我無法確定我

    20熱度

    4回答

    我在我的dll中有一個抽象類。 class IBase { protected: virtual ~IBase() = 0; public: virtual void f() = 0; }; 我想在我的加載dll的exe文件中得到IBase。 第一種方式是創建下面的函數 IBase * CreateInterface(); ,並添加虛擬函數Re

    26熱度

    6回答

    boost::shared_ptr有着不同尋常的構造 template<class Y> shared_ptr(shared_ptr<Y> const & r, T * p); ,我以什麼這將是有益的有點摸不着頭腦。基本上它與r共享所有權,但.get()將返回p。 不是r.get()! 這意味着你可以做這樣的事情: int main() { boost::shared_ptr<int

    5熱度

    4回答

    如果我想創建一個智能指針,以結構我這樣做: struct A { int value; }; typedef boost::shared_ptr<A> A_Ptr; 所以,我可以寫: A_Ptr pA0(new A); pA0->value = 123; 但是,如果我有一個模板結構這樣的: template<typename T>