メンバ変数の並びを考慮すべし |
|||
クラス(や構造体)のメンバ変数の並びによって、クラスのメモリサイズが節約出来る場合があります。 |
|||
List1 |
|||
class CClass{ public: char m_nCharA; int m_nIntA; char m_nCharB; int m_nIntB; }; |
|||
クラス CClass のメモリサイズは、16バイトです。 |
|||
List2 |
|||
class CClass{ public: int m_nIntA; int m_nIntB; char m_nCharA; char m_nCharB; }; |
|||
こうすることでクラス CClass のメモリサイズは、12バイトになりました。 |
|||
List3 |
|||
#pragma pack( push ) #pragma pack( 1 ) class CClass{ public: int m_nIntA; int m_nIntB; char m_nCharA; char m_nCharB; }; #pragma pack( pop ) |
|||
これで 10バイトに収まりました。 |
|||
|
|||
|
前のページ "経過時間"の判断方法の穴に落ちるべからず |
コンテンツのトップ |
次のページ 最適化オプション"エイリアスを使わないと仮定する"の意味を熟考すべし |