There's another, not in the C++ language but in the C++ standard library, called bit_cast: https://en.cppreference.com/w/cpp/numeric/bit_cast
It essentially just calls memcpy after some basic checking. It's similar to reinterpret_cast in spirit but more powerful. You can convert for example a float array into a char array (I don't think any of the four standard casts will allow you to convert a whole array at a time). Compilers like clang will generally recognize memcpy as __builtin_memcpy which sometimes generates no instructions at all.