按如下所示对相同的标识符进行类型定义是否有好处:
typedef struct Struct_name
{
//something....
} Struct_name;
我主要使用struct
答案 0 :(得分:4)
C ++已经允许您将struct Struct_name
称为Struct_name
。但是它有一条特殊的规则,允许该别名通过typedef向Struct_name
声明相同的标识符。
原因是C兼容性。在C中,struct Struct_name
仅在存在Struct_name
时可以称为typedef
。因此,您所看到的允许将这种结构放在C和C ++代码都包含的标头中。因此,让两个代码库都将类型都称为struct Struct_name
和Struct_name
。