qsharedpointer

    0熱度

    1回答

    我正在qt-creator 3.5.1中使用qt5.5.1,並試圖用GeoDataStyle設置GeoDataPlacemark上的樣式。它以前工作正常,但大理石更新後使用共享指針,而不是直接指針,我的程序段故障。使用GDB,我已經將seg fault追溯到我用styleArch直接指針創建QSharedPointer的那一行。有沒有人有一個想法可能是什麼問題? 我的舊代碼如下: styleArc

    3熱度

    1回答

    我需要使用QSharedPointer作爲引用計數,但是我將在單線程應用程序中使用它,所以我不希望線程安全開銷(我認爲它相當昂貴)。 有沒有辦法關閉線程安全,或者是否有一個只提供引用計數的等價Qt類?如果沒有,是否有獨立的類,不需要我包括一個像boost這樣的大型庫,或者打開C++ 11?

    0熱度

    1回答

    所以我有一個類有一個id數據成員,我在QList<QSharedPointer<MyClass>>中使用它,我不確定如何去檢查是否有一個現有的ID在那QList。我該如何去做,正如QList::contains將需要QSharedPointer<MyClass>&而不是MyClass* 我應該只使用一個QHash使用ID作爲關鍵?

    1熱度

    1回答

    我已經編寫了一個小樣本應用程序代碼,如下所示。 #include <QCoreApplication> #include <QSharedPointer> #include <QDebug> class INav { public: virtual int getdata() = 0; virtual void setdata(int a) = 0; }; c

    0熱度

    1回答

    一個問題在以下情形: 我有兩個QSharedPointer私有類成員的類: class xy{ ... private: QSharedPointer<QNetworkAccessManager> m_nam; QSharedPointer<QNetworkReply> m_nr; }; 在我發送一個QNetworkAccessManager後的代碼,返回值是

    0熱度

    1回答

    我已經編寫了一個QTextEdit封裝來像使用QIODevice一樣使用它。我希望能夠使用具有相同QTextEdit的多個包裝器,因此我可以在每個包裝器上使用不同的文本顏色。 爲了使這個包裝線程安全,我添加了一個QMutex來保護QTextEdit的使用。但是我想我只能使用一個互斥體來保護一個QTextEdit。 我最終以下實現,使用QSharedPointer來保護QTextEdit。 text

    1熱度

    1回答

    我有這樣一類樹節點稱爲Message,看起來像這樣: class Message { public: using Ptr = QSharedPointer<Message>; public: explicit Message(); explicit Message(Message::Ptr parentPtr); explicit Message(c

    3熱度

    1回答

    我對編程頗爲陌生,因爲我仍然在學習如何高效地編寫代碼,所以我的問題看起來有點奇怪。 當我正在學習如何使用Qt進行編碼時,我知道Qt有一個內存管理方法,當父節點本身被刪除時,父節點會刪除它的所有子節點,然後有QSharedPointer和其他許多智能指針事件(或你可能會提到boost::shared_ptr)。 我明白這兩種方法的工作方式,但我的問題是,當涉及到Qt中整個系統結構的設計時,我是否應該

    0熱度

    2回答

    我有一個MainWindow(這是一個QtMainWindow類)和Acquisiton類(這是一個QThread類) 這裏我非常簡化習得類 //entry point of the thread void Acquisition::run() { uint8_t* image_addr; QSharedPointer<uint8_t> image(new uint8

    4熱度

    1回答

    我一直在試圖理解如何將它作爲const引用傳遞。 我有以下類: class DBContext : public QObject 在我的課堂主窗口我把它定義爲folows: private: QScopedPointer<DBContext> dbContext; 存儲類別是如何定義的: class StorageData : public QObject { Q_O