类型别名
C++为类型建立别名的方式有两种。一种是使用预处理器:
#define BYTE char
这样,预处理将在编译程序时使用char替换所有的BYTE,从而使BYTE成为char的别名。
第二种方法是使用C++和C的关键字typedef来创建别名。例如,要将byte作为char的别名,可以这样做:
typedef char byte;
下面是通用格式:
typedef typeName aliasName;
换句话说,如果要将aliasName作为某种类型的别名,可以声明aliasName,如同将aliasName声明为这种类型的变量那样,然后在声明的前面加上关键字typedef。例如,要将byte_pointer成为char指针的别名,可将byte_pointer声明为char指针,然后在前面加上typedef:
typedef char * byte_pointer;
也可以使用#define,不过声明一系列变量时,这种方法不适用。例如:
#define FLOAT_PINTER float *
FLOAT_POINTER pa,pb;
预处理器置换将该声明转换为这样:
float *pa,pb;
typedef方法不会有这样的问题,它能够处理更复杂的类型别名。
注意,typedef不会创建新类型,而只是为已有的类型建立一个新名称。如果将word作为int的别名,则cout将把word类型的值视为int类型
3 do while循环
|