Присвоение последовательных номеров во время компиляции #defines - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть серия #defines, которым я хочу присвоить последовательные номера во время компиляции, чтобы я мог обратиться к ним позже и узнать их порядок.В настоящее время я присваиваю номер каждому #define по порядку, но если я изменяю порядок, мне нужно изменить нумерацию # define.

#define THING_A     1 // I'm doing this now...
#define THING_F     2
#define THING_C     3
#define THING_B     4

Не показано: эти #define находятся между элементами массиваи обратитесь к порядку элементов.Мне часто нужно изменить порядок элементов.Если я переупорядочу их, как показано ниже, я хочу, чтобы их номера изменились соответствующим образом, без необходимости проходить через них и редактировать номера следующим образом:

#define THING_C     1
#define THING_A     2
#define THING_B     3
#define THING_F     4

Чем я могу заменить цифры (одинаковые для каждого #определить) что приведет к последовательным назначениям?Я не могу использовать «__COUNTER_», как это ...

#define THING_B     (__COUNTER__)

... потому что каждый раз, когда я использую определенное значение позже, оно становится больше.Что это за "(что-то)"?

#define THING_A     (something)
#define THING_B     (something)
#define THING_C     (something)
#define THING_D     (something)
...