C++为类型创建别名有两种方式。一种是使用预处理器:
#define aliasName typeName //aliasName为别名
这样,预处理器将在编译程序时用aliasName替换所有typeName。
第二种方式时使用关键字typedef来创建别名
typedef typeName aliasName;//aliasName 为别名
区别:在声明一些变量是,使用预处理器方法可能并不适用
如:
#define FLOAT_POINTER float *FLOAR_POINTER pa,pb;//编译器置换将该声明转化为float *pa,pb;//pa是个float指针,而pb只是一个float类型变量
typedef方法就不会出现这样的问题。它能够处理更复杂的类型别名,这使得与使用#define相比,typedef是一种更佳的选择。