我想知道你为什么要在类型struct和union上使用说明符typedef,因为它们有时候用于定义你自己的类型吗?
谢谢!
答案 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;
因此,当您声明该类型的实例时,您不需要在结构前面加上前缀'关键字。