注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
概要 複合型(クラスや構造体)では、フィールドをメモリ上にどうレイアウト(layout: 配置)するかという問... 概要 複合型(クラスや構造体)では、フィールドをメモリ上にどうレイアウト(layout: 配置)するかという問題があります。 通常、メモリ上のレイアウトがどうなっているのかをプログラマーが気にする必要はありません。 大体はコンパイラーが最適な仕事をしてくれます。 それでも、時々、レイアウト方法を明示的に指定したい場合があります (おそらく、そのほとんどはC++などで書かれたネイティブ コードとの相互運用です)。 そこで、プログラミング言語によってはレイアウトをカスタマイズするための機能を提供しているものもあります。 C#では、クラスと構造体に対してレイアウトのカスタマイズ機能を提供しています。 StructLayout属性を付けることでカスタマイズ可能です。 アラインメント 「最適なレイアウト」について説明するためには、まず、メモリのアラインメント(alignment: 整列、調整)につい