devxlogo

Unions in C++

Unions in C++

Question:
I am trying to find some information on Unions in C++, specifically syntax and some type of example and perhaps a discussion as to when and why they are used.

Answer:
Unions in C++ are mostly the same as unions in C. They provide an easy syntax that you can use to treat an area in memory as different variables.For example, say you had a list of items, and each item needed to hold either an integer or an array of 10 characters at any one time.You could create a structure that contained both data types, but that would waste memory if you used only one at a time. A better approach might be to declare a union.

union MyUnion {   int i;   char s[10];};
This allows you declare a variable of type MyUnion, which you can treat either as an integer or a character array.
union MyUnion x;x.i = 5;     // Use X as an integerx.s[0] = ‘x’ // Use X as a char array
Both i and s occupy the same memory, which you can refer to using either syntax. Note that the space used by a union will be the size of the largest element. In this case, 10 bytes.
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist