René Scharfe <l.s.r@xxxxxx> writes: > It reduces the memory footprint, but only slightly. Saving a few bytes > for objects with less than a hundred instances total doesn't seem worth > the downsides. It makes it impossible to use the both at the same time, which is a bigger (than reduced memory) advantage. Otherwise, we would be tempted to consider that having "void *value" and "int value_int" next to each other and allow them to coexist may be a good solution for a narrow corner case (please see at the end of the message you are responding to). As you said, use of union has its downsides that may contradict the objective of the larger picture this topic draws. Thanks.