>>535
> 同じ領域を別の型で解釈するunionという明確な機能がある

C++のunionにそんな機能は無いよ。
アクティブなメンバ以外を通して読み書きすると未定義動作になる。
(構造体同士のcommon initial sequence部分の読み取りだけ特例でOK)
(Cの規格にはいけそうな文面があるんだけど、複数のDRへの委員会回答が
 さらなる混乱を醸しててカオス状態だから結局ポータブルとは言い難い
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65892)