Hacker News new | past | comments | ask | show | jobs | submit login

> Will this be well-defined behavior?

No, it’s illegal in C++. Use std::bit_cast.




You apparently are being downvoted unfairly while you are correct. Writing to u64 then reading from u32 is undefined behavior in C++. Only reading from the last union member that was written to is defined.


Because he was using future tense, not past tense.


I doubt this will be changed in the future, especially since there have been multiple ways to represent this operation in the language now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: