type punning が UB になるやつなぁ (実際に strict aliasing 前提の最適化で意図しないバイナリが吐かれがち)
良い子のみんなは type punning したいときは union やポインタのキャストではなく memcpy を使おうね
そういえば C++20 からは std::bit_cast が入ったのだった (strict aliasing まわりがどう扱われるのか知らんけど)
でも trivially copyable であるという制限がつくのでそこは注意か (まあそうでないキャストなんてそもそもだいたい UB 踏んでそう)
@lo48576 昨今の compiler なら memcpy してても良きに計らってくれるんだけど constexpr に出来ないのよね…なんで compiler magic が要る…