auto-ptr

    4熱度

    3回答

    我有一個基類,它由多個派生類繼承。我想創建一個baseClass指針的自動跳轉數組。當我初始化這些自動指針我得到一些編譯時錯誤,那我就做這樣的方式 std::auto_ptr<base>pbase[3]; std::auto_ptr<base> b1(new derived1()); std::auto_ptr<base> b2(new derived2()); std::suto_ptr

    1熱度

    2回答

    在C++中,當按值傳遞對象時,複製發生時是否存在限制? 我有以下代碼(簡化): class A; class Parent { public: void doSomething(std::auto_ptr<A> a); // meant to transfer ownership. }; std::auto_ptr<A> a = ...; a->getParent()->d

    3熱度

    3回答

    可以說我有一個基類和派生類: class Base { public: virtual ~Base() {} virtual void DoSomething() = 0; }; class Child : public Base { public: virtual void DoSomething() {

    4熱度

    3回答

    在我的代碼中,我正在使用new分配一個整數數組。之後,我將這個指針包裝成一個auto_ptr。我知道auto_ptr自動調用它的析構函數。由於我的auto_ptr指向一個數組(使用new分配),數組是否會與auto_ptr一起被刪除,否則會導致內存泄漏。這是我的示例代碼。 std::auto_ptr<int> pointer; void function() { int *arra

    1熱度

    4回答

    我已定義的類myClass,其數據成員中的一個被 std::map<int,data*> dataMap 數據被定義爲 struct data { int d1; int d2; std::string d3; } 插入數據到數據圖是做如下:dataMap[key] = new data; 以下分配會導致一個問題: myClass a1,a2; //in

    0熱度

    2回答

    我想寫一個C++類與構造函數需要一個auto_ptr作爲它的參數,這樣我可以從auto_ptr的initialize類實例到另一個實例: #include <memory> class A { public: A() {} A(std::auto_ptr<A> other) {} }; std::auto_ptr<A> create() { retur

    0熱度

    3回答

    我已經得到了下面的示例代碼後無效: #include <iostream> #include <auto_ptr.h> class A { public: A(){ std::cout << "A ctor" << std::endl;} ~A() {std::cout << "A dtor" << std::endl;} void bar(){std::c

    5熱度

    2回答

    在實現工廠類時,我遇到了我無法理解的行爲std::auto_ptr。我將問題簡化爲以下小程序,讓我們開始吧。 考慮下面的單例類: singleton.h #ifndef SINGLETON_H_ #define SINGLETON_H_ #include<iostream> #include<memory> class singleton { public: static

    1熱度

    1回答

    我正在使用Poco Net的服務器上當前工作&反應堆模式。 我發現類CSConnection unique_ptr是因爲類對象被引用到工作線程池。 構造: CSConnection::CSConnection(StreamSocket& socket, SocketReactor& reactor) : _socket(socket), _reactor(reactor) { std:

    0熱度

    1回答

    我不是專業人士,我只是感到沮喪,幾乎沒有Linux音頻播放器支持id3v2作曲家標籤,我想弄清楚如何添加它。 Taglib不直接支持composer標籤,但是通過從頭開始構建標籤有一個解決方法。我試圖把它翻譯成tagpy。 以下幾行應該創建一個新的id3v2幀並將其添加到新的幀列表。 newframe = tagpy.id3v2.TextIdentificationFrame('TCOM') n