檢查大小總是返回4個字節,我在Qt的假設,由於數據的共享隱:5字節QByteArray的內存佔用空間。 quint64或QByteArray的5個字節更有效的存儲? QByteArray中的
int n = 50; //or n = 100, 200
QByteArray arr(n,'a');
cout << sizeof(arr) << endl;
::getchar();
始終打印4
我如何估計的QByteArray的實際內存佔用?現在的問題是通過有效地存儲大量的5個字節識別符動機 - 它們可以各自如quint64被存儲(使用8個字節的每個,3個字節被浪費因此),或者作爲各自的QByteArray - 但我不知道如何預計開銷在後一種情況下....
我想用這些標識符作爲QMAP關鍵,因此他們應各自在自己的結構 - 一個很長的QByteArray將無法正常工作......
如果你想有效地存儲這5個字節,然後怎麼樣老式結構? – 2013-07-16 13:30:29
@Roku以及如何將它們存儲爲POD - 包含char [5]的結構與比較運算符? –
也許使用結構不是一個好主意,至少使用QByteArray更容易。順便說一下,你有多少個5字節標識符?超過200? – 2013-07-16 14:20:09