以下を使用して、クラス内の 4 要素の float 配列を 16 バイトに揃えます。
class Foo
{
// ... some code
private:
alignas(16) float array[4];
};
変数が整列されていません。何故ですか?Foo
私の仮定は、メンバー変数の内部オフセットは静的であり、実行時に調整されないため、アラインメントはインスタンスのアラインメントに依存するということです。それは正しいですか、それとも何か不足していますか? したがって、それを修正する1つのことは、Fooを何かに合わせ>=16
て、内部オフセットが修正されるようにすることですか?