間に実質的な違いがあるシナリオを少なくとも 1 つ提案できますか?
union {
T var_1;
U var_2;
}
と
var_2 = reinterpret_cast<U> (var_1)
?
これについて考えれば考えるほど、少なくとも実際的な観点からは、それらは同じものに見えます。
私が見つけた違いの 1 つは、ユニオン サイズがサイズの点で最大のデータ型として大きい一方で、この投稿で説明されている reinterpret_cast は切り捨てにつながる可能性があるため、単純な古い C スタイルのユニオンは新しいものよりもさらに安全であるということです。 C++ キャスト。
この 2 の違いを概説できますか?