このタイプのオブジェクトをスタックに作成すると、このオブジェクトのメモリが正しくアライメントされるという保証はありますか?メモリのアライメントの問題
union my_union
{
int value;
char bytes[4];
};
charバイト[4]をスタックに作成して整数にキャストしようとすると、整列の問題が発生する可能性があります。その問題をヒープで作成することで回避できますが、ユニオンオブジェクトの保証はありますか?論理的にはあるはずですが、私は確認したいと思います。
ありがとうございました。
古いCコードでは、 'c [0]'と宣言していました。その後、通常のようにアクセスします。これがC++でも有効かどうかは不明です。 –
私は最初のことを意味しました。ご回答ありがとうございます。 – confucius
@Martin - おそらくそうではありませんが、 'c [1]'も同様に動作します。 –