C++ typedef

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++中非常有用的特性,合理利用可以使代码更简洁优雅。