C++使用typedef定义结构体别名的方法
typedef定义结构体别名
C++中,typedef关键字可以用于C++中的类型定义一个别名,也包括可以为自定义的结构体struct定义一个“别名”,通过这种方法可以简化C++代码,可以直接使用其别名来定义实例对象,而不需要再通过struct和tag,语法如下:
typedef struct{
member1;
member2;
...
memberN;
}otherName
或:
struct tag{
member1;
member2;
...
memberN;
}typedef otherName
// 或在结构体定义完成之后,使用typedef为结构体定义别名,比如:
typedef struct structTag otherName;
typedef定义结构体别名实例代码
如下实例代码,通过typedef定义了一个“匿名”——没有tag的结构体的别名为Flower,并通过该别名直接定义一个结构体的实例对象,并访问其成员:
#include <iostream>
using namespace std;
typedef struct
{
string flower_name;
}Flower;
int main() {
// 定义该结构体的实例对象不再需要使用struct,直接使用别名
Flower rose = {"玫瑰"};
// 访问实例
cout << rose.flower_name << endl;
return 0;
}
编译运行之后,得到输出:玫瑰。
免责声明:内容仅供参考,不保证正确性!