我找不到任何類似的東西。 我發現boost庫有一個實現,但我不確定我想只爲循環緩衝區實現插入整個庫。Qt是否有循環緩衝區?
回答
有一個叫QCircularBuffer
。
http://doc.qt.io/archives/qt-5.5/qt3d-qcircularbuffer.html#details
QCircularBuffer<T>
是Qt的通用容器類(來自文檔)中的一個。所以這個類將滿足容器類的所有基本要求。
需要包含3dcore庫(Qt3D
標題)。
檢查你的Qt版本是否支持它。我在Qt5.5中看到了這個。
在Qt的公共API中沒有這樣的類型。如果你願意使用Qt的內部,有兩類注意:
QRingBuffer
存儲字節,是專爲I/O緩衝。通過
QSerialPort
等QT += core-private # In the .pro file #include <private/qringbuffer_p.h>
https://github.com/qt/qtbase/blob/5.9/src/corelib/tools/qringbuffer_p.h
QCircularBuffer
存儲任意類型的使用,是通用的。提供明智的STL風格的API。
QT += 3dcore-private # In the .pro file #include <private/qcircularbuffer_p.h>
https://github.com/qt/qt3d/blob/5.9/src/core/resources/qcircularbuffer_p.h
注:添加私有模塊項目文件後,必須重新運行qmake的,或者理想刪除build文件夾。 僅僅重建該項目將無法獲得編譯的代碼!
這些只是爲5.X.X版本?我們仍然使用4.X.X版本。 – kakush
您可以從Qt 5複製它們。它們將正常工作。對於任何一個,它只有三個文件:'qfoo.h','qfoo_p.h'和'qfoo.cpp'。 –
- 1. Qt和Boost循環緩衝區
- 2. 高效循環緩衝區?
- 3. 循環緩衝區優化
- 4. 逆循環緩衝區
- 5. 縮小循環緩衝區
- 6. 循環緩衝區「requestBufferSize:couchbase
- 7. 此循環緩衝區實現是否需要信號量?
- 8. kmalloc中的緩衝區是否也是DMA安全緩衝區?
- 9. 爲什麼我的環形緩衝區/循環緩衝區在java打破?
- 10. Socket.Send緩衝區大小是否有限?
- 11. 緩衝區是否有比較方法?
- 12. Qt - 什麼是樣本緩衝區?
- 13. 使用SQL的循環緩衝區
- 14. 線程安全循環緩衝區?
- 15. 循環字符數組緩衝區 - c
- 16. ActionScript3中的循環視頻緩衝區
- 17. 瞭解Linux內核循環緩衝區
- 18. O(1)haskell中的循環緩衝區?
- 19. 斯卡拉集合循環緩衝區
- 20. C++簡單循環緩衝區隊列
- 21. 發佈WEB音頻緩衝區循環
- 22. 嘗試在循環緩衝區 - Javascript
- 23. Java中的循環緩衝區?
- 24. VB.NET中的循環緩衝區
- 25. 矢量的循環緩衝區
- 26. 循環通過緩衝區在Emacs
- 27. Simulink中的循環緩衝區
- 28. 循環緩衝區的線程安全
- 29. C++緩衝區與Qt
- 30. 循環緩衝區的用途是什麼?
由於boost是一個僅頭文件庫,你不只是需要循環緩衝相關的文件? – NathanOliver
@NathanOliver一方面,最終編譯的可執行文件或庫只會生成與循環緩衝區相關的代碼。另一方面,你需要下載整個boost庫(我使用的每個boost庫都有很多其他boost庫的依賴) – Justin