类型别名
前面说过的结构、联合、枚举等类型,都是在定义时声明相关变量,这样使用起来相当不便。C++提供了给类型声明别名的功能,来方便对复杂类型的使用和对有特定目的类型的标记。
类型别名使用typedef
关键字声明,格式为typedef 原类型 类型别名
。例如前面的枚举类型就可以先声明类型别名,再使用类型别名声明变量。
typedef enum {
red,
green,
blue
} Color;
Color myColors;
上例中,类型别名Color
就可以像一个真正的类型那样来使用了。除了可以为复杂类型声明类型别名,内置类型也可以声明类型别名。
typedef int Amount;
Amount purchase;
类型别名Amount
作为内置类型int
的别名声明了一个变量purchase
,虽然看起来purchase
的类型是Amount
,但是从编译器的角度看,它的类型还是int
。这种使用方法通常是在代码中为变量命名一个具有独特意义的类型。