Как уже отмечали другие, все члены профсоюза активны все раза. Единственное, что нужно учитывать, это то, находятся ли члены в действительном состоянии.
Если вы когда-нибудь захотите получить какой-то уровень эксклюзивности, вам понадобится помеченный союз. Основная идея состоит в том, чтобы обернуть объединение в структуру, и структура имеет член, определяющий, какой элемент в объединении следует использовать. Возьмите этот пример:
enum Tag {
FIRST,
SECOND
};
struct {
Tag tag;
union {
int First;
double Second;
};
} taggedUnion;
Теперь taggedUnion
можно использовать как:
if(taggedUnion.tag == FIRST)
// use taggedUnion.First;
else
// use taggedUnion.Second