C++官方参考链接:Other data types - C++ Tutorials (cplusplus.com)
其他数据类型
类型别名(typedef/using)
类型别名是可以用来标识类型的不同名称。在C++中,任何有效类型都可以别名,这样就可以用不同的标识符引用它。
在C++中,有两种语法用于创建此类型别名:第一种语法继承自C语言,使用typedef关键字:
typedef existing_type new_type_name ;
其中existing_type是任何类型,无论是基本类型还是复合类型,new_type_name是带有该类型新名称的标识符。
例如:
typedef char C;
typedef unsigned int WORD;
typedef char * pChar;
typedef char field [50];
这定义了四种类型别名:C,WORD,pChar和field,分别为char,unsigned int,char*和char[50]。一旦定义了这些别名,它们就可以像任何其他有效类型一样在任何声明中使用:
C mychar, anotherchar, *ptc1;
WORD myword;
pChar ptc2;
field name;
最近,C++语言中引入了定义类型别名的第二种语法:
using new_type_name = existing_type ;
例如,如上所述的相同类型别名可以定义为:
using C = char;
using WORD = unsigned int;
using pChar = char *;
using field = char [50];
用typedef定义的别名和用using定义的别名在语义上是等价的。