4.5共用体 union
union
,也叫联合体,允许在同一段内存位置中存储不同的数据类型,这些不同的数据类型共享同一块内存空间。
共用体的大小为其成员中占用空间最大的成员的大小。
共用体的用途之一是,当数据项使用两种或更多种格式(但不会同 时使用)时,可节省空间
4.6 枚举 enumeration
枚举的定义
enum spectrum {red,orange,yellow,green,blue, violet, indigo, ultraviolet};
其中spectrum被称为枚举
将red
、orange
、yellow
等对应整数值0~7。这些常量叫作枚举量(enumerator)
枚举的声明
Spectrum band;
band
是spectrum
枚举类型的一个变量,类似于结构体和类定义之后要进行实例化。
4.6.2 枚举的取值范围
枚举的值只能赋为定义的其中一个值,不能超出这个范围。
C++11特性:作用域内枚举。
最开始只有声明中有效的值才是枚举的合法值,而在C++11中,在枚举定义范围的上下限内的值都是合法的。