Union은 가장 큰 구성원만큼만 공간을 차지하도록 모든 구성원이 동일한 주소에 할당되는 구조체다. 당연히 Union은 한 번에 한 구성원에 대해서만 값을 보유할 수 있다. 예를 들어 이름과 값을 보유하는 기호 테이블 항목을 고려해 보자. enum Type { str, num }; struct Entry { char∗ name; Type t; char∗ s; // use s if t==str int i; // use i if t==num }; void f(Entry∗ p) { if (p−>t == str) cout s; // ... } s와 i 멤버는 절대 동시에 사용할 수 없기 대문에 공간을 낭비하고 있다. 다음과 같이 둘 다 Union의 구성원이어야 함을 지정하여 쉽게 복구할 수 있다. union V..