-
使⽤预处理器:
#define BYTE char
预处理器在编译程序时用char替换所有的BYTE;等价于使BYTE成为char的别名
-
使⽤C++(和C)的关键字typedef来创建别名:
-
通用格式:
typedef typeName aliasName;
-
例如:typedef char byte;//使byte成为char的别名
-
换句话说,如果要将aliasName作为某种类型的别名,可以声明aliasName,如同将 aliasName声明为这种类型的变量那样,然后在声明的前⾯加上关键字typedef。
-
例如,要让byte_pointer成为char指针的别名,可将byte_pointer声明为char指针,然后在前⾯加上 typedef:
typedef char* byte_pointer;
-
3.也可以使⽤#define,不过声明⼀系列变量时,这种⽅法不适⽤。
#define FLOAT_POINTER float*
FLOAT_POINTER pa,pb;
//预处理器将该声明转换为:
float* pa,pb;
- typedef⽅法不会有这样的问题。它能够处理更复杂的类型别名,这使得与使⽤#define相 ⽐,使⽤typedef是⼀种更佳的选择—有时候,这也是唯⼀的选择。
- 注意,typedef不会创建新类型,⽽只是为已有的类型建⽴⼀个新名称。如果将word作为 int的别名,则cout将把word类型的值视为int类型。