【发布时间】:2014-01-09 17:37:40
【问题描述】:
例如在 C/C++ 中,我会得到以下代码:
typedef enum fruits{
apple,
banana,
lemon,
orange
} fruit_t;
相当于:
typedef enum fruits{
apple = 0,
banana = 1,
lemon = 2,
orange = 3
} fruit_t;
但是,我希望这些值是负数,这样它们就不会与其他任何东西发生冲突。我可以这样做:
typedef enum fruits{
apple = -1,
banana = -2,
lemon = -3,
orange = -4
} fruit_t;
但是如果我想添加另一个水果,我必须分配另一个值,如果我在中间放一个,我必须重新编号。有没有更简单的方法?
【问题讨论】:
-
您应该使用 C++11 范围的枚举。没有 C/C++ 这样的东西。
-
@LightnessRacesinOrbit:除非打算编写一个可以在任何一种语言中使用的定义;在这种情况下,称它为“C/C++”是很合理的。