0

要素のサイズが同じでない場合、構造体の要素を順序付けする良い方法があるかどうか、現在疑問に思っています。

次の例のうち、最も適切なものはどれですか?

例 1 :

struct
{
   u8  my_u8;
   u8  my_u8_2;
   u32 mu_u32;
}

例 2 :

struct
{
   u32 mu_u32;
   u8  my_u8_2;
   u8  my_u8;
}

どちらの場合も構造体を宣言すると、必要なメモリは同じになりますか?

4

2 に答える 2

2

構造体内のパディングを最小限に抑えることが絶対に重要な場合にのみ、これを行ってください。たとえば、そのような構造体の大きな配列があり、メモリが不足している場合です。そうしないと、時期尚早の最適化になり、コードの読みやすさ/保守性が損なわれます。

これが実際に当てはまる場合、一般的な考え方は、要素をサイズの小さい順に並べることです。そのため、あなたの場合は Example2 です。

于 2013-10-02T14:59:54.960 に答える