一、C++为类型建立别名的方式有两种:
1、使用预处理器:
#define BYTE char;
预处理器将在编译程序时用char替换所有的BYTE,从而使BYTE成为char的别名。
2、使用C++关键字typedef来创建别名:
typedef typeName aliasName;
#include <typeinfo>
typedef float * FLOAT_POINTER_TYPEDEF;
FLOAT_POINTER_TYPEDEF pe, pf;
cout << typeid(pe).name() <<endl;
cout << typeid(pf).name() <<endl;
例如:typedef char byte
二、为指针创建别名
1、使用预处理器
结果如下:#include <typeinfo> #define FLOAT_POINTER float * FLOAT_POINTER pd, pb; cout << typeid(pd).name() <<endl; cout << typeid(pb).name() << endl;
2、使用C++关键字typedef
typedef float * FLOAT_POINTER_TYPEDEF; FLOAT_POINTER_TYPEDEF pe, pf; cout << typeid(pe).name() <<endl; cout << typeid(pf).name() <<endl;
结果如下:
3、总结
使用预处理器为指针建立类型别名时会导致第二个不成功,使用typedef则不会。