The correct way to do type punning in C++
andreasfertig.com