为什么在struct和union上使用typedef?

时间:2017-05-05 23:27:59

标签: c++ struct typedef

我想知道你为什么要在类型struct和union上使用说明符typedef,因为它们有时候用于定义你自己的类型吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

修改的 阅读标准' typedef'在C ++中不是必需的,可能是为了向后兼容。此外,使用' typedef'代码可以在C和C ++编译器中进行编译而无需更改或者#if; #if define'围绕它,所以它可能是遗留代码支持的事情。

我认为人们这样做可以节省打字费用!我们毕竟是一个懒惰的人。所以而不是: -

struct SomeStruct
{
  // some data
};

struct SomeStruct first_instance;
struct SomeStruct second_instance;

你有这个: -

typedef struct typedefSomeStruct
{
  // some data
} SomeStruct;

SomeStruct first_instance;
SomeStruct second_instance;

因此,当您声明该类型的实例时,您不需要在结构前面加上前缀'关键字。