Namespaces
Variants
Views
Actions

Talk:cpp/language/union

From cppreference.com

[edit] Undefined behavior in the example

Doesn't the example invoke undefined behavior? As far as I remember, one can read the value of the union only through the same member of the union which was used to write the value into the union type. That is, a union can 'contain' only one type at a time, not all at once. -- P12 07:06, 24 March 2012 (PDT)

Yes, it is definitely UB, although it deserves a note that many compilers support such use through extensions. A standards-compliant example use case for unions would be a tagged union. --Cubbi 12:39, 24 March 2012 (PDT)
I've seen this kind of example used often (for example, detecting platform endianness), which is why I included it. I hadn't realised that it was UB, although, I agree that it should be mentioned. --- Undeterminant 15:18, 24 March 2012 (PDT)