连续数字到#define的编译时分配

问题描述 投票:1回答:1

我有一系列#define,我希望为其分配连续的数字在编译时,以便以后可以参考它们并了解它们的顺序。目前,我正在为每个#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

我可以用(每个#define)会导致连续分配?我不能这样使用“ __COUNTER _” ...

#define THING_B     (__COUNTER__)

...,因为以后每次使用定义的值时,它都会变大。这是什么(东西)?

#define THING_A     (something)
#define THING_B     (something)
#define THING_C     (something)
#define THING_D     (something)
objective-c c-preprocessor
1个回答
0
投票

请参见此答案https://stackoverflow.com/a/3035640/236415,以了解如何使用注释者建议的枚举。

© www.soinside.com 2019 - 2024. All rights reserved.