[英]why is typedef used with enum type?
为什么在下面的代码中需要typedef?
typedef enum _Coordinate {
CoordinateX = 0, ///< X axis
CoordinateY = 1, ///< Y axis
CPCoordinateZ = 2 ///< Z axis
} Coordinate;
为什么不只是下面的代码并删除typedef?
enum Coordinate {
CoordinateX = 0, ///< X axis
CoordinateY = 1, ///< Y axis
CPCoordinateZ = 2 ///< Z axis
};
如果你没有typedef
你的枚举,你的其他代码,你必须把它称为enum Coordinate
,而不是仅仅Coordinate
,即使你知道 Coordinate
是一个枚举。 我想,只是在引用它时消除了enum
关键字的冗余。
为了更清楚,这里是它的将是什么,如果你喜欢typedef
从宣布它分开它:
enum _Coordinate {
CoordinateX = 0,
CoordinateY = 1,
CPCoordinateZ = 2
};
// You map the enum type "enum _Coordinate" to a user-defined type "Coordinate"
typedef enum _Coordinate Coordinate;
这也适用于C结构和枚举(无论如何,Obj-C枚举只是C枚举)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.