1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
// 联合体占用的空间等于最大成员的大小,成员共享(复用)这块空间。
union U
{
int x;
double y;
};
int main()
{
std::cout << sizeof(U) << std::endl;
U u;
// 1. 可以使用int 或者 double 类型的值来初始化 u。
u.x = 66;
u.y = 99.33; // 覆盖之前的值。
// 2. 可以使用int 或者 double 类型来读取 u。
std::cout << u.x << std::endl; // 以int的存储格式(定点数)来读取这块内存,注意了! 这里不是类型转换!!!。
std::cout << u.y << std::endl; // 以浮点数的存储格式读取这块内存。
return 0;
}
|