1
私は文字通り数十億のインスタンスを生成するクラスを持っています。私は可能な限り小さなデータを入れるために最善を尽くしました。x64アーキテクチャー用にコンパイルすると、10バイトになりました。unsigned short int
とsize_t
です。しかし、sizeof(myclass)
(VS)の上にマウスを置くと、16バイトと報告されます。いずれかのフィールドをコメントアウトすると、クラスのサイズはそれぞれ10バイトと2バイトになります。最小限のスペースを使用してC++クラスを強制的にコンパイルできますか?
クラスに10バイトしか使用しないようにコンパイラに指示する方法はありますか?
「#pragma pack」を試す – PaulMcKenzie
ありがとう!答えに '#pragma pack(2)'を投げれば、私はそれを最良の答えとしてマークします。 – dfoverdx
@dfoverdx 2の代わりに 'pack(1)'を使用する –