Skip to Content

Unions

In a union all members share the same memory location. This means that at any given time, a union can contain no more than one object from its list of members. It also means that no matter how many members a union has, it always uses only enough memory to store the largest member.

#include <iostream> #include <string> using namespace std; union Record // will only take up a double amount in memory { char ch; int i; long l; float f; double d; // biggest attribute int* int_ptr; }; int main() { Record t; t.i = 5; // t holds an int t.f = 7.25; // t now holds a float, int is gone cout << t.f << endl; cout << t.i << endl; }
Output
7.25 1088946176
Last updated on