例如,如果我要static const struct
在头 ( .h
) 文件中创建这样的层次结构:
static const struct {
struct {
char STATIC /* = 0 */;
char DYNAMIC /* = 1 */;
} ALLOCATION;
struct {
char TABLE /* = 0 */;
char LIST /* = 1 */;
char TREE /* = 2 */;
} STRUCTURE;
} FOO_STRATEGY = { {0, 1}, {0, 1, 2} };
foo_t *foo_create(char allocation_strategy, char structure_type);
然后将使用这样的东西:
foo_t *foo = foo_create(FOO_STRATEGY.ALLOCATION.STATIC, FOO_STRATEGY.STRUCTURE.TREE);
我想我有一个两部分的问题:
- 这是否按预期工作?
- 为什么其他人不这样做?