typedef在C++中可以用来创建类型别名,使代码更易读和可维护。
一、基本语法
typedef的语法:
typedef 原始类型 别名;
例如:
typedef int Integer;
Integer a = 10;
将int类型取一个别名Integer。
二、指针和数组
可以为指针、数组等复杂类型创建别名:
typedef char* PChar; //字符指针别名
typedef int Array10[10]; //数组别名
三、结构体和类
结构体和类类型也可以进行typedef:
struct Point {
int x;
int y;
};
typedef Point Pos;
Pos p; //等价于 Point p
四、模板
可以为模板实例化的类型创建别名:
template<typename T>
class Vector {};
typedef Vector<int> IntVector;
五、空类型
可以用typedef创建新类型:
typedef void* Address; //Address为void*的别名
六、优势
- 提高可读性
- 兼容旧代码
- enable_if模板技术
类型别名是C++中非常有用的特性,合理利用可以使代码更简洁优雅。