Why use typedef on struct and union?
本问题已经有最佳答案,请猛点这里访问。
我想知道为什么要在类型结构和联合上使用说明符typedef,因为它们在某种程度上不是用来定义您自己的类型吗?
谢谢!
编辑在C++中不需要读取标准"TyPulf",这可能是为了向后兼容。此外,使用"TyPulf",代码将在C和C++编译器中编译而不更改,或者"如果定义",那么它可能是遗留代码支持的东西。
我认为人们这样做是为了节省打字时间!毕竟我们很懒。因此,而不是:
1 2 3 4 5 6 7 | struct SomeStruct { // some data }; struct SomeStruct first_instance; struct SomeStruct second_instance; |
你应该用这个来代替:
1 2 3 4 5 6 7 | typedef struct typedefSomeStruct { // some data } SomeStruct; SomeStruct first_instance; SomeStruct second_instance; |
因此,当您声明该类型的实例时,不需要为"struct"关键字加前缀。