繁体   English   中英

为什么typedef与enum类型一起使用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM