Например, в 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;
Но если я хотел бы добавить еще один фрукт, мне нужно назначить другое значение, и если бы я поставил один промежуточный, я должен перенумеровать большую часть его. Есть ли более простой способ сделать это?