我想知道QByteArray和unsigned char *在速度上有什麼區別嗎? 我在程序中有很多字節數組和複製操作,所以知道是否有任何區別對我來說很重要。 謝謝QByteArray vs unsigned char *速度
0
A
回答
1
unsigned char*
用作字節數組非常簡單。所以我會說,理論上QByteArray
不能比這更快,儘管它可以一樣快或者只是慢一點。但是你不能(通常)單獨使用unsigned char*
。你必須保持陣列的長度,所以它變成了unsigned char*
和int
,這對我來說至少比只使用QByteArray
要多得多。 QByteArray
也包含很多成員函數。如果您在使用unsigned char*
時需要自己實現其中的許多功能,那麼您的實現總是有可能比Qt的實現慢。這需要很多工作。
當然,在某些應用程序中,您可能有數百萬個數組都是相同的大小,並且您不需要所有數組的大小變量。然後使用unsigned char*
會是一個更好的主意,尤其是在陣列很短的情況下,因此QByteArray
的內存使用開銷會很大。
我會說unsigned char*
更快。但是,根據您的應用程序和編碼技巧,它也可能只比QByteArray
快或慢。如果您真的想知道,請創建一個測試應用程序並測量速度。
相關問題
- 1. 將unsigned char [10]轉換爲QBytearray;
- 2. QByteArray和QList <unsigned char>或QVector <unsigned char>有什麼區別?
- 3. char!=(signed char),char!=(unsigned char)
- 4. unsigned char concatenation
- 5. #define as unsigned char
- 6. 轉換的char *爲unsigned char *
- 7. 轉換爲unsigned char []
- 8. QByteArray轉換爲char(不是char *或constChar *)
- 9. mysqli速度vs php速度?
- 10. C++:隱蔽INT爲unsigned char
- 11. 的NSString爲unsigned char []
- 12. 將vector <unsigned char>轉換爲const unsigned char *
- 13. 如何將unsigned char *轉換爲數組<unsigned char> ^?
- 14. 將byte * {aka unsigned char *}'轉換爲byte [32] {aka unsigned char [32]}
- 15. 爲什麼istream_iterator <unsigned char,unsigned char> throw std :: bad_cast?
- 16. 從unsigned char構造QImage * data
- 17. 速度:DOMDocument vs xml_parse_into_struct vs strrpos
- 18. char *到數組<unsigned char ^>
- 19. char和unsigned char有什麼區別?
- 20. 如何將unsigned char *轉換爲char *
- 21. 從char *到unsigned char的C++轉換?
- 22. Unsigned char char *和int在C中?
- 23. C++鑄造的char *爲unsigned char
- 24. 將數組從unsigned char *轉換爲char *
- 25. char [1024] vs char *
- 26. numpy ufuncs速度vs循環速度
- 27. 鑄造詮釋unsigned char型
- 28. C++中的unsigned char無效?
- 29. 轉換的NSString爲unsigned char
- 30. 使用python發送unsigned char
您是否考慮過測試它? – 2013-07-21 10:14:41
還沒有。我問它是因爲我想知道它背後的全部想法。因爲我想在多個平臺和不同情況下使用它。我認爲可能是簡單測試的結果並不是一個很好的迴應。 – oMatrix