검사의 크기는 항상 4 바이트, 나는 Qt는 데이터의 암시 적 공유로 인해 있으리라 믿고있어 반환5 바이트 QByteArray의 메모리 풋 프린트. 5 바이트의 quint64 또는 QByteArray가 저장에 더 효율적입니까? 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 바이트를 효율적으로 저장하려면 일반 오래된 구조체는 어떻습니까? –
@Roku 어떻게 그들을 POD로 저장할 것인가? 비교 연산자와 char [5]를 포함하는 구조체? –
아마도 구조체를 사용하는 것이 좋지 않습니다. 적어도 QByteArray를 사용하는 것이 더 쉽습니다. 그건 그렇고, 얼마나 많은 5 바이트 식별자를 가지고 있습니까? 200 명 이상? –